这个问题在这里已有答案:
无法执行以下查询
Update tbl SET alias_seq= (Select seq from tbl where analysed_object = 'data' order by seq LIMIT 1)
低于错误
#1093 - 您无法在FROM子句中为更新指定目标表'tbl'
您无法更新子查询引用的同一数据源中的行 .
将您的查询修改为此
UPDATE tbl SET alias_seq= (SELECT * FROM (Select seq from tbl where analysed_object = 'data' order by seq LIMIT 1) as X)
这里嵌套的子查询生成一个临时表 . 因此,它不算作您尝试更新数据的同一个表 . 换句话说,在 MySQL 中,您无法修改在 SELECT 部分中使用的同一个表 .
MySQL
SELECT
您可以在这里参考更多信息UPDATE Syntax .
1 回答
您无法更新子查询引用的同一数据源中的行 .
将您的查询修改为此
这里嵌套的子查询生成一个临时表 . 因此,它不算作您尝试更新数据的同一个表 . 换句话说,在
MySQL
中,您无法修改在SELECT
部分中使用的同一个表 .您可以在这里参考更多信息UPDATE Syntax .