报错原因

修改一个接口实现类业务代码,并进行debug调试时报错

  • Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

该异常可能出现的场景有

1.在同一事物内对同一条记录进行insert和update操作。
2.分布式服务操作同一条记录。
3.高并发。
4.debug的时候事务还没有执行完,就重启服务,然后又执行了一次(本次报错产生原因

解决方案

1
2
3
-- 删除未结束的事务即可
SELECT * FROM information_schema.INNODB_TRX;
kill 4523949;

在这里插入图片描述