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 语句,事务相继消失。