mysql教程(八) 事務詳解

2022-02-20 05:55:01 字數 912 閱讀 2084

1、應用場景舉例

a賬戶往b賬戶轉賬,a-100,b+100,如果a-100之後,突然發生如停電、宕機等情況,導致b+100沒有執行,那麼這個轉賬過程就是失敗的。

2、事務四個特徵(acid)

原子性atomicity:要麼全成功,要麼不成功

一致性consistency:在事務開始之前與結束之後,資料庫都保持一致狀態

隔離性isolation:事務之間不能互相干擾

永續性durability:事務執行完後,對資料的修改將永久的儲存到資料庫中

3、存在概念

開啟事務:start transaction

提交事務:commit

回滾事務:rollback 

禁用或啟用事務的自動提交模式:set autocommit

注:事務只對dml操作有影響,delete、update、insert,對select回滾沒有意義,對drop、create、alter無法回滾;

當commit或rollback後,資料就結束了。 

4、設定自動提交 set autocommit

一般我們使用mysql執行語句時,是預設自動提交的,所以使用rollback後並不能夠返回dml之前的資料;

使用show variables like '%auto%';語句檢視當前是否是預設提前設定

使用set autocommit = off;關閉自動提交

使用set autocommit = on;開啟自動提交

mysql教程(八) 事務詳解

a賬戶往b賬戶轉賬,a 100,b 100,如果a 100之後,突然發生如停電 宕機等情況,導致b 100沒有執行,那麼這個轉賬過程就是失敗的。原子性atomicity 要麼全成功,要麼不成功 一致性consistency 在事務開始之前與結束之後,資料庫都保持一致狀態 隔離性isolation 事...

mysql事務詳解

使用者訪問資料庫時,資料庫會為使用者開啟乙個程序,使用者可以通過這個程序對資料庫進行增 刪 改 查的操作,這個程序就稱為事務。1 原子性 指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生 例如 在乙個事務中,對t1表新增乙個資料,並對t2表刪除乙個資料,這兩步操作要麼都成功,要麼...

MySQL 事務詳解

mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你既需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱 文章等等,這樣,這些眾多的資料庫操作語句就構成乙個事務!一般來說,事務必須滿足以下 4 個條件 acid 而我們在學習事務的時候最複雜也是最...