什么是事務?
事務是由一步或幾步數據庫操作序列組成邏輯執行單元,這系列操作要么全部執行,要么全部放棄執行。程序和事務是兩個不同的概念。一般而言:一段程序中可能包含多個事務。(說白了就是幾步的數據庫操作而構成的邏輯執行單元)
事務具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續性(Durability)。這四個特性也簡稱ACID性。
(1)原子性:事務是應用中最小的執行單位,就如原子是自然界最小顆粒,具有不可再分的特征一樣。事務是應用中不可再分的最小邏輯執行體。(最小了,不可再分了)
(2)一致性:事務執行的結果,必須使數據庫從一個一致性狀態,變到另一個一致性狀態。當數據庫中只包含事務成功提交的結果時,數據庫處於一致性狀態。一致性是通過原子性來保證的。(說罷了就是白狗變成了黑狗,不能出現斑點狗!)
(3)隔離性:各個事務的執行互不干擾,任意一個事務的內部操作對其他並發的事務,都是隔離的。也就是說:並發執行的事務之間不能看到對方的中間狀態,並發執行的事務之間不能相互影響。(說白了,就是你做你的,我做我的!)
(4)持續性:持續性也稱為持久性,指事務一旦提交,對數據所做的任何改變,都要記錄到永久存儲器中,通常是保存進物理數據庫。(說白了就是一條道跑到黑)
MySQL如何支持事務?
MYSQL的事務處理主要有兩種方法
1.用begin,rollback,commit來實現
begin開始一個事務
rollback事務回滾
commit 事務確認
2.直接用set來改變mysql的自動提交模式
mysql默認是自動提交的,也就是你提交一個query,就直接執行!可以通過
set autocommit = 0 禁止自動提交
set autocommit = 1 開啟自動提交
來實現事務的處理
本文轉載自:http://www.cnblogs.com/zhuifeng-mayi/p/9270321.html