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;

MYSQL 事务测试

查看锁定的事务

 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

MYSQL 事务测试

可以等一会,可以查看到锁消失了,mysql 会释放锁,但是事务还在。

MYSQL 事务测试

两个会话分别执行 rollback 语句,事务相继消失。

MYSQL 事务测试

 

相关文章:

  • 2021-06-26
  • 2022-01-16
  • 2022-12-23
  • 2021-04-20
  • 2022-12-23
  • 2021-07-16
  • 2022-12-23
猜你喜欢
  • 2021-11-07
  • 2022-02-19
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2021-05-14
相关资源
相似解决方案