原子性(Atomicity)
事務就像“原子”一樣,不可被分割,組成事務的DML操作語句要么全成功,要么全失敗,不可能出現部分成功部分失敗的情況。
一致性(Consistency)
一旦事務完成,不管是成功的,還是失敗的,整個系統處於數據一致的狀態。
隔離性(Isolation)
一個事務的執行不會被另一個事務所干擾。比如兩個人同時從一個賬戶從取錢,通過事務的隔離性確保賬戶余額的正確性。
持久性(Durability)
也稱為永久性,指事務一旦提交,對數據的改變就是永久的,不可以再被回滾。
MySQL的事務處理主要有兩種方法
1.用begin,rollback,commit來實現
begin開始一個事務
rollback事務回滾
commit 事務提交
2.直接用set來改變MySQL的自動提交模式
MySQL默認是自動提交的,也就是你提交一個sql,就直接執行!可以通過
set autocommit = 0 禁止自動提交
set autocommit = 1 開啟自動提交
來實現事務的處理。
但要注意當用set autocommit = 0 的時候,以后所有的sql都將作為事務處理,直到用commit確認或 rollback結束,注意當結束這個事務的同時也開啟了新的事務!按第一種方法只將當前的做為一個事務!