超过锁定等待超时;从表中删除数据时尝试重新启动事务

Posted

技术标签:

【中文标题】超过锁定等待超时;从表中删除数据时尝试重新启动事务【英文标题】:Lock wait timeout exceeded; try restarting transaction when deleting data from table 【发布时间】:2019-10-13 06:54:42 【问题描述】:

我创建了下表。

CREATE TABLE IF NOT EXISTS  EMAILLIST_DETAILS (
            EMAIL_LIST_ID INTEGER,
            EMAIL VARCHAR(255),
            PRIMARY KEY (EMAIL_LIST_ID,EMAIL)
); 

然后我尝试通过执行以下查询将 EMAIL_LIST_ID 传递给我的应用程序来删除电子邮件列表。

DELETE FROM EMAILLIST_DETAILS WHERE EMAIL_LIST_ID=?

执行此操作时,会抛出以下错误。

ERROR 1205 (HY000): 超过锁定等待超时;尝试重启事务

我该如何解决这个问题?

【问题讨论】:

多久之后?您可以尝试增加锁定等待超时。 这是一个奇怪的表结构。您的表是否只有复合主键,仅此而已? 【参考方案1】:

根据我的经验,这可能在尝试执行多个查询(应用程序端)时发生,例如插入、选择、删除。这种情况可以通过查看应用端(BE)来解决。

【讨论】:

以上是关于超过锁定等待超时;从表中删除数据时尝试重新启动事务的主要内容,如果未能解决你的问题,请参考以下文章

保存/更新模型时,Django“超过锁定等待超时;尝试重新启动事务”

Python3 - '超过锁定等待超时;尝试重新启动事务'并且只在数据库上处理

超过锁定等待超时;尝试重新启动事务 MYSQL Python

超过锁定等待超时;尝试重新启动事务 - 插入语句

MySQL 错误:超过锁定等待超时;尝试重新启动事务查询

使用 C# 在 Mysql 上死锁 - “超过锁定等待超时;尝试重新启动事务”