1. 程式人生 > 其它 >MySQL:隔離性問題(髒讀)&回滾演示

MySQL:隔離性問題(髒讀)&回滾演示

1 髒讀演示

髒讀: 一個事務讀取到了另一個事務中尚未提交的資料

1. 開啟視窗登入 MySQL,設定全域性的隔離級別為最低  

  1) 登入MySQL

2)使用db2 資料庫

use db2;

  3) 設定隔離級別為最低 讀未提交

set global transaction isolation level read uncommitted;

2. 關閉視窗,開一個新的視窗A ,再次查詢隔離級別  

  1) 開啟新的 視窗A

    

  2) 查詢隔離級別

select @@tx_isolation;

3.再開啟一個新的視窗 B

1) 登入資料庫

2) 選擇資料庫

use db2;

3) 開啟事務

start transaction;

4) 查詢

select * from account;

4.A視窗執行 

  1) 選擇資料庫

use db2;

  2) 開啟事務

start transaction;

  3)執行修改操作

-- tom賬戶 -500元 
UPDATE account SET money = money - 500 WHERE NAME = 'tom';
-- jack賬戶 + 500元 
UPDATE account SET money = money + 500 WHERE
NAME = 'jack';

5.B視窗查詢資料

  1) 查詢賬戶資訊

select * from account;

6. A視窗轉賬異常,進行回滾

rollback;

7.B視窗再次查詢賬戶

select * from account;