BEGIN; //第一步,开启事务1 UPDATE ty SET b =1WHERE a = 2; //第三步,锁定 a = 2 的记录 UPDATE ty SET b =1WHERE a = 3; //第五步,卡主,等待事务2上 a = 3 的锁 COMMIT;
3. navicat 工具开启事务2窗口
1 2 3 4
BEGIN; //第二步,开启事务2 UPDATE ty SET b =1WHERE a = 3; //第四步,锁定 a = 3 的记录 UPDATE ty SET b =1WHERE a = 2; //第六步,等待事务1上 a = 2 的锁,事务1和事务2互相等待对方的锁,此时出现死锁,mysql 会回退当前事务 COMMIT;