1. 程式人生 > >關於mysql的事務四個特性

關於mysql的事務四個特性

背景知識:

  1. mysql事務支援的引擎是InnoDB
  2. mysql事務的四個特性(ACID),分別是原子性,一致性,隔離性,永續性

1.原子性:事務開啟(start transaction)到事務結束(commit / rollback)之間的語句要麼全部執行成功,要麼全部執行失敗,不存在一些語句執行成功,一些語句執行失敗。

2.一致性:例如小明有2000元存款,小王有1000元存款,總數是3000元,這時候小明轉賬給小王1000元存款,小明剩下1000元存款而小王則有2000元存款,但是總數仍然是3000元,這就是一致性的體現

3.永續性:事務一旦提交,對資料的修改是永久的

4.隔離性:一個事務對資料庫的修改在未提交之前,其他事務是看不見的,如下是事務的四個級別(隔離性由低到高,併發性由高到低):

  1. 讀未提交(read uncommitted)
  2. 讀已提交(read committed)
  3. 可重複讀(repeatable read)
  4. 可序列化(serializable)

可以通過如下命令檢視和設定隔離級別:

5.至於四個隔離級別具體是怎麼回事,可以檢視這篇博文:隔離級別詳細