在我正在使用的查询中,我正在创建一个临时表。这是查询:
SELECT u1.url,u1.id,u1.domain FROM urls u1 JOIN
(create new table here) u2 ON u1.id = u2.url_id
GROUP BY u1.domain;
在此查询之前,我锁定了两个表:
LOCK TABLES urls WRITE, ips WRITE;
但是,当我运行脚本时,mysql给了我这个错误:
Table 'u1' was not locked with LOCK TABLES
有人可以帮助我理解我在这里做错了吗?我不认为我可以提前宣布u2,因为它还没有真正制作出来。
答案 0 :(得分:0)
我找到了解决方案here:
LOCK TABLES urls WRITE, urls as u1 WRITE, ips WRITE;
基本上,如果您要在锁定语句后引用带别名的表,则需要使用别名锁定它。