# 什么是事務
事務是針對數據庫的一組操作,它可以由一條或者多條SQL語句組成,同一個事務的操作具備同步的特點,如果其中有一條語句不能執行的話,那么所有的語句都不會執行,也就是說,事務中的語句要么都執行,要么都不執行。
# 事務的特性
事務需要滿足ACID四個特性 :
1. A(atomicity) 原子性
一個事務的執行被視為一個不可分割的最小單元。事務里面的操作,要么全部成功執行,要么全部失敗回滾,不可以只執行其中的一部分。
2. C(consistency) 一致性
一個事務的執行不應該破壞數據庫的完整性約束。假如轉賬過程中系統崩潰,因為事務最終沒有提交,所以事務中的修改也不會保存到數據庫中。
3. I(isolation) 隔離性
通常來說,一個事務所做的修改在最終提交之前,對其他事務是不可見的。但是不同的隔離級別下面是不同的情況。
4. D(durability) 持久性
事務提交之后,需要將提交的事務持久化到磁盤。即使系統崩潰,提交的數據也不會丟失。