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
猜你喜欢
- HEROKU - 无法运行 git push heroku master 2021-01-01
- 如何将uuid存储为数字? 2021-01-01
- Oracle SQL 转置 2022-01-01
- SQL Server 将 Varchar 转换为日期时间 2021-01-01
- MySql 错误 150 - 外键 2021-01-01
- 在 Oracle 中创建 CTE 2022-01-01
- 创建索引时,具有 mysql 数据库迁移的实体框架失败 2022-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 如何在oracle中获取字符串最右边的10个位置 2021-01-01
- MySQL(Windows10)使用 MyISAM 表进行 FULLTEXT 搜索不起作用 2022-01-01