1. 程式人生 > 資訊 >格芯推出新一代矽光子平臺 GF Fotonix:可大規模提供一流效能

格芯推出新一代矽光子平臺 GF Fotonix:可大規模提供一流效能

什麼是事務

什麼是事務,簡單理解就是:要麼都成功,要麼都失敗

比如:

a 轉賬給 b 100元

b 收到 a 的錢 100元

這兩者應該:要麼都成功,要麼都失敗

事務原則:ACID原則->【原子性、一致性、隔離性、永續性】

  • 原子性:要麼都成功,要麼都失敗
  • 一致性:事務前後(時間上)資料完整性一致
  • 永續性:事務一旦提交則不可逆
  • 隔離性:多個使用者操作一個數據庫,資料庫為每一個使用者開啟的事務,應該相互隔離,相互之間不能干擾

隔離導致的一些問題:

  • 髒讀:一個事務讀取另一個事務未提交的資料
  • 不可重複讀:在一個事務內讀取表中某一資料,多次讀取結果不同
  • 虛讀(幻讀):在一個事務內讀取到其他事務插入的資料,導致前後讀取不一致

事務執行

MySQL預設開啟事務自動提交

手動處理事務:

set autocommit = 0 -- 關閉事務自動提交
start transaction -- 標記一個事務開始,從這句話後的sql都在一個事務內

/**
 * 資料操作
 */

-- 提交:持久化(成功)
commit

-- 回滾:回到原來樣子(事務失敗)
rollback

-- 事務結束
set autocommit = 1 -- 恢復自動提交

savepoint 儲存點名 ; -- 設定事務儲存點
rollback to savepoint 儲存點名 ; -- 回到事務儲存點
release savepoint 儲存點名; -- 撤銷儲存點