超过锁定等待超时;从表中删除数据时尝试重新启动事务
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 - '超过锁定等待超时;尝试重新启动事务'并且只在数据库上处理