MySQL:解決髒讀問題

  • 髒讀很是危險,好比張三向李四購買商品,張三開啓事務,向李四帳號轉入 500 塊,而後打電 話給李四說錢 已經轉了。李四一查詢錢到帳了,發貨給張三。張三收到貨後回滾事務,李四的再 查看錢沒了。 
  • 解決方案 
    •   將全局的隔離級別進行提高爲:  read committed

1. 在 A 窗口設置全局的隔離級別爲 read committed數據庫

set global transaction isolation level read committed;

2. 從新開啓A窗口, 查看設置是否成功.ide

select @@tx_isolation;

3.  開啓B 窗口, A 和 B 窗口選擇數據庫後, 都開啓事務blog

 

 4.  A 窗口只是更新兩我的的帳戶,不提交事務事務

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

5. B 窗口進行查詢,沒有查詢到未提交的數據it

select * from account;

 

 

6. A窗口commit提交數據io

commit;

7. B 窗口查看數據class

select * from account;

相關文章
相關標籤/搜索