【发布时间】:2018-06-04 21:27:57
【问题描述】:
无法执行以下查询
Update tbl SET alias_seq= (Select seq from tbl where analysed_object =
'data' order by seq LIMIT 1)
遇到错误
#1093 - 您不能在 FROM 子句中指定目标表 'tbl' 进行更新
【问题讨论】:
标签: mysql
无法执行以下查询
Update tbl SET alias_seq= (Select seq from tbl where analysed_object =
'data' order by seq LIMIT 1)
遇到错误
#1093 - 您不能在 FROM 子句中指定目标表 'tbl' 进行更新
【问题讨论】:
标签: mysql
您无法更新子查询引用的同一数据源中的行。
将您的查询修改为此
UPDATE tbl SET alias_seq= (SELECT * FROM (Select seq from tbl where analysed_object = 'data' order by seq LIMIT 1) as X)
这里嵌套的子查询创建了一个临时表。因此,它不算作您尝试从中更新数据的同一个表。换句话说,在MySQL 中,您不能修改在SELECT 部分中使用的同一个表。
您可以参考这里了解更多信息 UPDATE Syntax。
【讨论】: