gpt4 book ai didi

mysql - 无法在 FROM 子句中指定更新目标表 'table_name'

转载 作者:行者123 更新时间:2023-11-29 10:12:29 29 4
gpt4 key购买 nike

我开始更深入地阅读 MySql 并尝试在 description 上解决此任务。根据描述需要从表中删除重复项,但我的查询不起作用。在 sqllite 中工作正常。原因是什么?

DELETE
FROM
Person
WHERE
Email IN(
SELECT
Email
FROM
Person
GROUP BY
Email
HAVING
COUNT(Email) > 1
);

错误

You can't specify target table 'Person' for update in FROM clause

最佳答案

您可以使用自连接来删除重复项

delete a
from Person a
left join Person b on a.Email = b.Email
and a.id > b.id
where b.Email is not null

Demo

+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
+----+------------------+

关于mysql - 无法在 FROM 子句中指定更新目标表 'table_name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737403/

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