MySQL更新加入返回#1205-超过锁定等待超时;尝试重新启动事务



我试图执行以下查询,但它返回#1205 - Lock wait timeout exceeded; try restarting transaction

查询

UPDATE cities c JOIN tmp_cities t ON (c.name = t.cityName) 
SET c.latitude = t.latitude
, c.longitude = t.longitude 
WHERE c.latitude = 0 AND c.longitude = 0

此外,它不会影响任何一行。换句话说,这个查询在我的phpMyAdmin中完全无法执行。解决方案是什么?

您似乎在其他地方锁定了citiestmp_cities很长时间。可能的情况:

  1. 还有另一个查询锁定了citiestmp_cities,但尚未完成
  2. 您锁定了citiestmp_cities,但从未解锁

通过执行以下查询来查找哪些记录/表被锁定:

SELECT * from performance_schema.data_locks;

相关内容

最新更新