MySQL事務是一種處理方式,它可以在數據庫的操作中,確保多個并發事務能夠正確地執行和互不干擾。事務擁有四個特性:原子性,一致性,隔離性和持久性。
原子性:在一個事務中,一系列操作將全部完成,或全部不完成。如果在事務執行期間發生故障,操作將回滾,數據庫狀態將回到事務執行前的狀態,保證事務的原子性。
一致性:事務執行前和執行后,數據庫應該保持一致狀態。在一個事務中的操作應該返回符合一致性要求的結果,即不能破壞已經存在的數據關系。
隔離性:每個事務在執行期間對其他事務都是隔離的,一個事務不能看見其他事務未提交的數據。事務執行的結果,與多個并發事務執行的結果不應有關聯。
持久性:事務提交后,對數據庫的修改將被持久化,不再受事務的控制。即使出現故障,已提交的事務也應該一直存在于數據庫中。
// SQL語句開啟事務
BEGIN;
// SQL語句
INSERT INTO table1 (column1, column2, column3) VALUES ('value1', 'value2', 'value3');
UPDATE table2 SET column1 = 'newvalue' WHERE column2 = 'value2';
// SQL語句提交事務
COMMIT;
// SQL語句回滾事務
ROLLBACK;
以上SQL語句演示了如何利用MySQL事務完成對多個表的操作。在BEGIN后面的SQL語句會被當作一個整體執行,如果其中任何一個語句出現異常,整個事務將會被回滾,數據庫將恢復到修改前的狀態。
上一篇mysql事務鎖表情況
下一篇表單框css