我想删除重复的条目,其中用户名是相同的,因为我错误地插入了两次数据,我无法使用唯一字段。
我首先使用选择查询选择了这些帐户以确保,我实际上得到了我想要删除的正确行,这很好用。现在我想删除它们,但是我收到了一个错误,我不知道为什么。这是我的查询和错误:
查询:
DELETE FROM Gifting
WHERE idGifting NOT IN
(SELECT MIN(idGifting) FROM Gifting GROUP BY username)
错误:
#1093 - You can't specify target table 'Gifting' for update in FROM clause
答案 0 :(得分:0)
您可以使用join
:
DELETE g
FROM Gifting g LEFT JOIN
(SELECT MIN(idGifting) as minid
FROM Gifting
GROUP BY username
) gid
ON g.id = gid.minid
WHERE gid.minid IS NULL;
这假设Gifting
中没有重复的ID。