小编Agn*_*ker的帖子

MySQL 死锁:upsert 查询两次获取间隙锁?

我正在尝试调试一个让我困惑了很长时间的死锁场景。我想知道是否有人可以阐明这种情况是如何发生的。

这是死锁输出:

------------------------
LATEST DETECTED DEADLOCK
------------------------
2019-06-28 14:04:18 0x7fe9a811d700
*** (1) TRANSACTION:
TRANSACTION 3141, ACTIVE 1 sec inserting
mysql tables in use 1, locked 1
LOCK WAIT 4 lock struct(s), heap size 1136, 2 row lock(s), undo log entries 2
MySQL thread id 47, OS thread handle 140641311893248, query id 3281 172.17.0.1 mmuser update
INSERT INTO
                            PublicChannels(Id, DeleteAt, TeamId, DisplayName, Name, Header, Purpose)
                        VALUES
                            (?, ?, ?, ?, ?, ?, ?)
                        ON DUPLICATE KEY UPDATE
                            DeleteAt = ?,
                            TeamId …
Run Code Online (Sandbox Code Playgroud)

mysql deadlock mysql-5.7

11
推荐指数
1
解决办法
562
查看次数

标签 统计

deadlock ×1

mysql ×1

mysql-5.7 ×1