1、簡介
事務是一組操作的集合,它是一個不可分割的工作單位,事務會把所有的操作作為一個整體一起向系統提交或撤銷操作請求,即這些操作要么同時成功,要么同時失敗。
默認MySQL的事務是自動提交的,也就是說,當執行一條DML語句,MySQL會立即隱式的提交事務。
2、操作演示
2.1 銀行轉帳演示
查看/設置事務提交方式:
SELECT @@autocommit;
SET @@autocommit = 0;
select@@autocommit;
查詢出來的結果如果是1,則是自動提交。
查詢出來的結果如果是0,則是手動提交。
開啟事務
START TRANSACTION 或 BEGIN
提交事務--成功:
COMMIT;
回滾事務----失敗:
ROLLBACK;
3、四大特性ACID
- 原子性(Atomicity):事務是不可分割的最小操作單元,要么全部成功,要么全部失敗。
- 一致性(Consistency):事務完成時,必須使所有的數據都保持一致狀態。
- 隔離性(Isolation):數據庫系統提供的隔離機制,保證事務在不受外部并發操作影響的獨立環境下運行。
- 持久性(Durability):事務一旦提交或回滾,它對數據庫中的數據的改變就是永久的。