Lock wait timeout exceeded; try restarting transaction 是 MySQL 数据库中一个常见的错误信息,它表示当前事务等待加锁的操作超时了,因为锁被其他事务占用,导致无法获取锁。这里有多种情况会导致表锁,例如使用锁表语句:LOCK TABLES...
Lock wait timeout exceeded; try restarting transaction 是 MySQL 数据库中一个常见的错误信息,它表示当前事务等待加锁的操作超时了,因为锁被其他事务占用,导致无法获取锁。这里有多种情况会导致表锁,例如使用锁表语句:LOCK TABLES stat_num WRITE,
或者使用了悲观锁但不提交事务,那么这里就会一直锁住这些行,那么你对表进行操作的时候就会告诉你当前事务还没有结束。
BEGIN;
SELECT * FROM user WHERE age>2 FOR UPDATE;
那么怎么解决这个问题呢,简单粗暴的办法,把这张表的锁释放表,不需要网上其他教程那么多花里胡哨的查锁,释放某个锁,这对于不同版本的数据库是不通用的。
UNLOCK TABLES;
一行SQL解决所有的不痛快……
织梦狗教程
本文标题为:Lock wait timeout exceeded; try restarting transaction


基础教程推荐
猜你喜欢
- oracle区分大小写的原因? 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在多列上分布任意行 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01