基本介紹
事務用於保證數據的一致性,它由一組相關的dml語句組成,該組的dml語句要麼所有成功,要麼所有失敗。如:網上轉帳就是典型的要用事務來處理,用以保證數據的一致性。事務
關鍵詞
start transaction: 開始一個事務it
savepoint : 保存點io
rollback to 保存點: 回滾到某個保存點.innodb
rollback : 回滾class
commit : 提交date
案例
步驟以下 【實現事務】im
(1) 開始一個事務數據
(2) 作一個保存點adb
(3) 先刪除一個用戶img
(4) 作一個b保存點
savepoint b;
(5) 執行了update
(6) 作了一個c保存點
savepoint c;
(7)能夠回退到指定的某個保存點
rollback to 保存點;
(8) 當咱們肯定沒有任何問題時,就能夠正式提交了
commit;
說明,一旦提交了,咱們的全部的保存點就沒有。
事務的細節
(1) 沒有設置保存點
開始事務時,事務會默認給你建立一個保存點,若是你但願回退也能夠使用rollback , 就能夠直接回退到事務開始的狀態.
(2) 多個保存點
咱們能夠設置多個保底點,可是若是咱們回退時,須要按順序回退。即若是你回退到前面的某個保底點,那麼後面的保存點就沒有了.
(3) 存儲引擎
若是要支持事務,須要存儲引擎是 innodb;
(4) 開始事務方式
start transaction;
set autocommit = false;