首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除mySQL重复条目

问如何删除mySQL重复条目
EN

Stack Overflow用户
提问于 2012-07-24 06:11:26
回答 2查看 335关注 0票数 2

我有一个包含重复条目的mySQL表(在某些情况下可能有多个重复条目)。我有一个名为id的列,它可能包含重复的id,还有一个名为唯一id的列,顾名思义,它包含惟一的id。使用下面的SQL语句,我能够选择重复的行

代码语言:javascript
复制
SELECT id,
COUNT(id) AS NumOccurrences
FROM `TABLE 3`
GROUP BY id
HAVING ( COUNT(id) > 1 )

但是我如何删除(除了一个之外的所有)它们呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-24 06:29:04

代码语言:javascript
复制
DELETE t1 FROM test t1, test t2 WHERE t1.unique_id > t2.unique_id AND t1.id = t2.id;
票数 2
EN

Stack Overflow用户

发布于 2012-07-24 07:35:03

您应该在唯一id字段中添加一个UNIQUE INDEX。这将防止更多的副本在以后偷偷进入。

代码语言:javascript
复制
ALTER IGNORE `TABLE 3` ADD UNIQUE INDEX (`unique_id`);

忽略位将只保留值为"unique_id“的第一行。还应避免在列或表名中使用空格。这使得编写SQL容易出错,因为您必须在名称两边使用记号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11621314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档