a賬戶往b賬戶轉賬,a-100,b+100,如果a-100之後,突然發生如停電、宕機等情況,導致b+100沒有執行,那麼這個轉賬過程就是失敗的。
原子性atomicity:要麼全成功,要麼不成功
一致性consistency:在事務開始之前與結束之後,資料庫都保持一致狀態
隔離性isolation:事務之間不能互相干擾
永續性durability:事務執行完後,對資料的修改將永久的儲存到資料庫中
開啟事務:start transaction
提交事務:commit
回滾事務:rollback
禁用或啟用事務的自動提交模式:set autocommit
注:事務只對dml操作有影響,delete、update、insert,對select回滾沒有意義,對drop、create、alter無法回滾;
當commit或rollback後,資料就結束了。
一般我們使用mysql執行語句時,是預設自動提交的,所以使用rollback後並不能夠返回dml之前的資料;
使用show variables like '%auto%';語句檢視當前是否是預設提前設定
使用set autocommit = off;關閉自動提交
使用set autocommit = on;開啟自動提交
mysql教程(八) 事務詳解
1 應用場景舉例 a賬戶往b賬戶轉賬,a 100,b 100,如果a 100之後,突然發生如停電 宕機等情況,導致b 100沒有執行,那麼這個轉賬過程就是失敗的。2 事務四個特徵 acid 原子性atomicity 要麼全成功,要麼不成功 一致性consistency 在事務開始之前與結束之後,資料...
mysql事務詳解
使用者訪問資料庫時,資料庫會為使用者開啟乙個程序,使用者可以通過這個程序對資料庫進行增 刪 改 查的操作,這個程序就稱為事務。1 原子性 指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生 例如 在乙個事務中,對t1表新增乙個資料,並對t2表刪除乙個資料,這兩步操作要麼都成功,要麼...
MySQL 事務詳解
mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你既需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱 文章等等,這樣,這些眾多的資料庫操作語句就構成乙個事務!一般來說,事務必須滿足以下 4 個條件 acid 而我們在學習事務的時候最複雜也是最...