1. 程式人生 > >MYSQL 事務測試

MYSQL 事務測試

增加 一個 產生 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 事務測試