gpt4 book ai didi

mysql - 只删除一条重复记录

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:01 25 4
gpt4 key购买 nike

我正在尝试从表 nlt_user 中删除电子邮件重复项此查询正确显示具有重复项的记录:

select [e-mail], count([e-mail])
from nlt_user
group by [e-mail]
having count([e-mail]) > 1

现在我怎样才能删除除一个以外的所有重复记录?谢谢

最佳答案

如果 MySQL 版本在 5.7.4 之前,您可以使用 IGNORE 关键字在列 e-mail 上添加一个 UNIQUE 索引。这将删除所有重复的电子邮件行:

ALTER IGNORE TABLE nlt_user
ADD UNIQUE INDEX idx_e-mail (e-mail);

如果 > 5.7.4 可以使用临时表(IGNORE 不再适用于 ALTER):

CREATE TABLE nlt_user_new LIKE nlt_user;
ALTER TABLE nlt_user_new ADD UNIQUE INDEX (emailaddress);
INSERT IGNORE INTO nlt_user_new SELECT * FROM nlt_user;
DROP TABLE nlt_user;
RENAME TABLE nlt_user_new TO nlt_user;

关于mysql - 只删除一条重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034631/

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