MySQL:不可重複讀演示
阿新 • • 發佈:2021-07-15
不可重複讀: 同一個事務中,進行查詢操作,但是每次讀取的資料內容是不一樣的
1. 恢復資料 (把資料改回初始狀態)
2. 開啟兩個 視窗A 和 視窗B,選擇資料庫後 開啟事務
use db2; start transaction;
3. B 視窗開啟事務後, 先進行一次資料查詢
select * from account;
4.在 A 視窗開啟事務後,將使用者tom的賬戶 + 500 ,然後提交事務
-- 修改資料 update account set money = money + 500 where name = 'tom'; -- 提交事務 commit;
5.B 視窗再次查詢資料
- 兩次查詢輸出的結果不同,到底哪次是對的?
- 不知道以哪次為準。 很多人認為這種情況就對了,無須困惑, 當然是後面的為準。
- 我們可以考慮這樣一種情況:
-
比如銀行程式需要將查詢結果分別輸出到電腦螢幕和發簡訊給客 戶,結果在一個事務 中針對不同的輸出目的地進行的兩次查詢不一致,導致檔案和螢幕中的結果不一致,銀 行工作 人員就不知道以哪個為準了
-
- 我們可以考慮這樣一種情況: