相关疑难解决方法(0)

删除除MySQL中的One之外的所有重复行?

可能重复:
删除MySQL中的重复行

如何从MySQL表中删除所有重复数据?

例如,使用以下数据:

SELECT * FROM names;

+----+--------+
| id | name   |
+----+--------+
| 1  | google |
| 2  | yahoo  |
| 3  | msn    |
| 4  | google |
| 5  | google |
| 6  | yahoo  |
+----+--------+
Run Code Online (Sandbox Code Playgroud)

我会使用,SELECT DISTINCT name FROM names;如果它是一个SELECT查询.

我怎么做DELETE才能删除重复项并保留每个重复记录?

mysql sql duplicates

403
推荐指数
2
解决办法
44万
查看次数

删除MySQL中的重复行

我有一个包含以下字段的表:

id (Unique)
url (Unique)
title
company
site_id
Run Code Online (Sandbox Code Playgroud)

现在,我需要删除具有相同的行title, company and site_id.一种方法是使用以下SQL和脚本(PHP):

SELECT title, site_id, location, id, count( * ) 
FROM jobs
GROUP BY site_id, company, title, location
HAVING count( * ) >1
Run Code Online (Sandbox Code Playgroud)

运行此查询后,我可以使用服务器端脚本删除重复项.

但是,我想知道是否只能使用SQL查询来完成.

mysql sql duplicates

351
推荐指数
15
解决办法
35万
查看次数

MySQL:ALTER IGNORE TABLE给出"完整性约束违规"

我正在尝试使用ALTER IGNORE TABLE + UNIQUE KEY从MySQL表中删除重复项.MySQL文档说:

IGNORE是标准SQL的MySQL扩展.如果新表中的唯一键上存在重复项,或者启用了严格模式时出现警告,它将控制ALTER TABLE的工作方式.如果未指定IGNORE,则复制将中止并在发生重复键错误时回滚.如果指定了IGNORE,则只使用第一行在唯一键上具有重复项的行.其他冲突的行将被删除.不正确的值将截断为最接近的匹配可接受值.

当我运行查询时......

ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field)
Run Code Online (Sandbox Code Playgroud)

...我仍然收到错误#1062 - 关键'dupidx'重复输入'blabla'.

mysql unique-constraint

47
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×3

duplicates ×2

sql ×2

unique-constraint ×1