【问题标题】:Table name specified twice both as a target for update and separate source for data表名被指定两次作为更新的目标和单独的数据源
【发布时间】:2017-04-02 17:56:11
【问题描述】:
Update table 
Set class = 0 
Where TOTAL_HOURS = (SELECT min (TOTAL_HOURS) from tutions);

产生的错误:

两次指定表名作为更新的目标和单独的数据源。

我该如何解决这个问题?

【问题讨论】:

  • 这是真正的查询吗?在您的查询中,您使用表作为表名,表是关键字。所以你必须用反引号引用它

标签: mysql sql


【解决方案1】:

我猜你正在尝试用教程更新教程。

创建一个嵌套子查询,以便 MySQL 实现它并且不再是同一个表。

试试这个:

Update tutions
Set class = 0 
Where TOTAL_HOURS = (select * from (SELECT min (TOTAL_HOURS) from tutions) t);

【讨论】:

  • 对不起,实际表是这样的,我只是想概括一下,以免让其他人感到困惑,但我忘了更新第二个。
  • 更新表集 class= 0 其中 TOTAL_HOURS = (SELECT min (TOTAL_HOURS)
  • @Rudra - 请编辑您的问题并提供真正的查询,您想用它做什么。此外,样本数据和预期结果可能更有帮助
猜你喜欢
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
相关资源
最近更新 更多