<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
思考了很久,決定寫一篇關於mysql事務(transaction)的部落格,一來嘛,因為最近在複習mysql的相關知識,幫自己回顧總結一下,其次就是想把這篇部落格分享給大家,如果你才剛剛開始學習mysql,那麼希望這篇部落格對你有一點啟發;亦或者你早已是一個mysql老油條,這篇部落格也會使你對mysql事務有一個更深的印象。
首先,什麼是事務呢?
事務就是由單獨單元的一個或多個sql語句組成,在這個單元中,每個sql語句都是相互依賴的。而整個單獨單元是作為一個不可分割的整體存在,類似於物理當中的原子(一種不可分割的最小單位)。
往通俗的講就是,事務就是一個整體,裡面的內容要麼都執行成功,要麼都不成功。不可能存在部分執行成功而部分執行不成功的情況。
就是說如果單元中某條sql語句一旦執行失敗或者產生錯誤,那麼整個單元將會回滾(返回最初狀態)。所有受到影響的資料將返回到事務開始之前的狀態,但是如果單元中的所有sql語句都執行成功的話,那麼該事務也就被順利執行。
大家都知道,我們的資料都是通過各種不同技術的儲存引擎來引導儲存的,不同的儲存引擎,都有各自的特點。在mysql中,常見的儲存引擎有innodb、myisam,memory等。其中innodb支援事務(transaction),而myisam,memory等不支援事務。
可以通過
show engines;
語句來檢視mysql支援的儲存引擎
事務分為隱式事務和顯式事務兩種。我們的DML語句(insert、update、delete)就是隱式事務。
1.隱式事務:該事務沒有明顯的開啟和結束標記,它們都具有自動提交事務的功能;不妨思考一下,update語句修改資料時,是不是對錶中資料進行改變了,它的本質其實就相當於一個事務。
舉一個栗子:張三同學買了一個csdn客製化保溫杯花了99元,是不是就是update語句對欄位name為張三的同學的餘額balance進行減99元的處理呢?程式碼如下:
2.顯示事務:該事務具有明顯的開啟和結束標記;也是本文重點要講的東西。使用顯式事務的前提是你得先把自動提交事務的功能給禁用。禁用自動提交功能就是設定autocommit
變數值為0(0:禁用 1:開啟)
先檢視一下當前的autocommit變數值,發現當前處於開啟自動提交事務的狀態
禁用自動提交事務的功能並檢視當前狀態
假設t_account表已經存在
#步驟一:開啟事務(可選) start transaction; #步驟二:編寫事務中的sql語句(insert、update、delete) #這裡實現一下"李二給王五轉賬"的事務過程 update t_account set balance = 50 where vname = "李二"; update t_account set balance = 130 where vname = "王五"; #步驟三:結束事務 commit; #提交事務 # rollback; #回滾事務:就是事務不執行,回滾到事務執行前的狀態
執行結果:
但是呢,因為某一刻不可能總只有一個事務在執行,可能出現A在操作t_account表中的資料,B也同樣在操作t_account表,那麼就會出現並行問題,對於同時執行的多個事務,當這些事務存取資料庫中相同的資料時,如果沒有采用必要的隔離機制,就會發生以下各種並行問題。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45