MYSQL 事務測試
阿新 • • 發佈:2019-01-31
增加 一個 產生 locks back 會話 for ati sel
mysql 事務測試
創建張表 lock1
增加字段 id,name 。
增加兩條記錄
1,a
2,b
啟動第一個會話
BEGIN;
update lock1 set name=‘c‘ where id=1;
update lock1 set name=‘d‘ where id=2;
啟動第二個會話
BEGIN;
update lock1 set name=‘c‘ where id=2;
update lock1 set name=‘d‘ where id=1;
執行順序
分別執行 第一條更新語句。
再執行第一個會話的第二條語句,第二個會話的第二條語句。
這個時候就會產生行鎖。
通過以下語句查看 鎖。
查看當前事務:
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
查看鎖定的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
可以等一會,可以查看到鎖消失了,mysql 會釋放鎖,但是事務還在。
兩個會話分別執行 rollback 語句,事務相繼消失。
MYSQL 事務測試