MySQL 事務是數據庫管理系統中具有原子性、一致性、隔離性和持久性四個特征的數據庫操作序列。
其中,原子性指一個事務內的所有操作被視作一個整體,要么全部操作成功,要么全部不執行;一致性指事務執行前后,數據庫都必須處于一致的狀態;隔離性指在并發環境中,每個事務都應該是與其他事務隔離的,互不干擾;持久性指事務結束后,對數據庫所做的所有修改都應該被持久保存,即使系統崩潰也不會丟失。
具有這四個特征的事務能夠保證數據的完整性和一致性。同時,MySQL 提供了 InnoDB 存儲引擎和 NDB Cluster 存儲引擎來支持事務的應用。
// 以下是一段 MySQL 事務的示例代碼: START TRANSACTION; // 開啟事務 UPDATE users SET balance = balance - 100 WHERE id = 1; // 減少用戶余額 INSERT INTO orders (user_id, amount) VALUES (1, 100); // 創建訂單 COMMIT; // 提交事務
以上代碼更新了用戶的余額,并創建了一筆訂單。這些操作作為事務被視作一個整體,只有在所有的操作都成功執行后才算完成,否則會回滾所有的修改。
上一篇mysql 事務原則