【问题标题】:Temporary table in mysql being lockedmysql中的临时表被锁定
【发布时间】:2012-06-09 03:26:49
【问题描述】:

在我正在使用的查询中,我正在创建一个临时表。这是查询:

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,因为它还没有真正完成。

【问题讨论】:

    标签: mysql sql temp-tables


    【解决方案1】:

    我找到了解决方案here

    LOCK TABLES urls WRITE, urls as u1 WRITE, ips WRITE;
    

    基本上,如果您要在 lock 语句之后使用别名引用表,则需要使用别名对其进行锁定。

    【讨论】:

      猜你喜欢
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 2014-09-09
      相关资源
      最近更新 更多