并发插入duplicate-key导致的死锁
作者:互联网
当mysql死锁时,可以通过show engine innodb status来查看死锁日志,可以看到发生死锁的sql。
复现一下:
先创建一个表
CREATE TABLE t1 (i INT, PRIMARY KEY (i)) ENGINE = InnoDB;
session1
START TRANSACTION;
INSERT INTO t1 VALUES(1);
session2
START TRANSACTION;
INSERT INTO t1 VALUES(1);
session3
START TRANSACTION;
INSERT INTO t1 VALUES(1);
然后session1执行
ROLLBACK;
然后就会产生死锁了.
标签:INSERT,TRANSACTION,INTO,duplicate,t1,死锁,VALUES,key 来源: https://blog.csdn.net/weixin_41751625/article/details/122013226