開啟兩個視窗a,b
設定a視窗的隔離級別為read committed;
set session transaction isolation level read committed;
分別在兩個視窗中開啟事務:
start transaction;
在b視窗中完成轉賬
update account set money = money - 1000 where name= '小張';
update account set money = money + 1000 where name= '小鳳';
***** 沒有提交事務!!!
在a視窗中進行查詢:
select * from account;
***** 發現這個時候沒有轉賬成功!!!(沒有查詢到另乙個事務未提交的資料:說明已經避免了髒讀)。
在b視窗中提交事務
commit;
在a視窗查詢
select * from account;
***** 發現這次的結果已經發生了變化!!!(已經發生不可重複讀:乙個事務已經讀到了另乙個事務提交的update的資料,導致多次查詢結果不一致。)
事務隔離級別 髒讀 spring 測試
建立乙個controller,寫兩個url,用於測試髒讀 一 testcontroller autowired private testservice testservice responsebody apiimplicitparams apioperation value listfordirty...
事務 隔離級別 髒讀 不可重複 幻讀
事務,就是一組運算元據庫的動作集合。如果一組 處理步驟 全部發生或者一步也不執行,我們稱該組處理步驟為乙個事務。當所有的步驟像乙個操作一樣被完整地執行,我們稱該事務被提交。由於其中的一部分或多步執行失敗,導致沒有步驟被提交,則事務必須回滾到最初的系統狀態。二 事務的併發問題 1 髒讀 事務 a讀取了...
mysql 隔離級別 髒讀 測試
修改方 查詢方 session a b autocommit off not care 修改方是為了開啟事務 isolation not care read uncommited為邊界 執行順序 左側開啟一次會話 左側第一次insert 右側第一次select 自動提交會話 顯示讀到髒讀 左側rol...