UPDATE shop_info set remark = '测试门店' where id = 8842 > 1205 - Lock wait timeout exceeded; try restarting transaction怎么解决
时间: 2024-05-23 22:08:31 浏览: 145
一次长事务导致数据库锁等待超时问题跟踪
这个错误表示在执行更新操作时,有其他的事务正在占用需要更新的记录,导致当前事务等待超时。解决这个问题的方法一般有以下几种:
1. 增加超时时间:可以尝试将当前事务的超时时间增加,让事务等待更长时间。可以通过以下语句设置超时时间:
```
SET innodb_lock_wait_timeout = 60;
```
其中60表示超时时间为60秒。
2. 优化查询语句:可以分析当前事务所执行的SQL语句,看是否可以通过优化查询语句来避免锁等待。比如,可以添加索引、优化查询条件等。
3. 重启MySQL:如果以上方法都无法解决问题,可以尝试重启MySQL服务。但需要注意,重启MySQL会中断正在执行的事务,可能会导致数据丢失。
阅读全文