mysql 事務測試mysql
建立張表 lock1 sql
增長字段 id,name 。測試
增長兩條記錄 3d
1,ablog
2,b事務
啓動第一個會話class
BEGIN;date
update lock1 set name='c' where id=1;im
update lock1 set name='d' where id=2;db
啓動第二個會話
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 語句,事務相繼消失。