gpt4 book ai didi

mysql - 错误 1093 (HY000) : You can't specify target table

转载 作者:行者123 更新时间:2023-11-29 02:26:36 34 4
gpt4 key购买 nike

我阅读了已经发布的问题答案,但最终他们没有帮助。
所以我知道在 MySQL 中,您不能修改在 SELECT 部分中使用的同一个表。
但是:下面的 SQL 语句将如何工作?

update keys_from_table_sorted
set l.nummer =
(select @curRow := @curRow + 1 AS row_number
from keys_from_table_sorted l
join (select @curRow := 0) r);

我尝试使用 select 语句中的 row_number 更新表“keys_from_table_sorted”中的字段“nummer”。

最佳答案

你可以这样做

SET @curRow := 0;
UPDATE keys_from_table_sorted
SET nummer = (@curRow := @curRow + 1)
ORDER BY <column_name> -- You should specify order

注意:除非您使用 ORDER BY 子句,否则无法保证记录的顺序。因此,无论是 SELECT 还是 UPDATE,始终明确指定它。否则你可能会得到无意义的行号。

这是 SQLFiddle 演示

关于mysql - 错误 1093 (HY000) : You can't specify target table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20631370/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com