如何删除mysql中的多个条目

时间:2010-02-22 22:00:03

标签: mysql sql-delete

我有多个条目的数据库。

我谷歌出类似的东西

SELECT COUNT(*), item_id, text, number FROM ads
GROUP BY item_id, text, number
HAVING COUNT(*)>1;

这个选择(我认为)所有我的多个条目,我使用SQLyog,...并且没有选项按下按钮并删除此查询的所有结果

但即使我逐个选择并删除,我也会删除原始,对吧?

我基本上希望保留所有唯一条目并保留多个项目之一。

简单的例子

('1''诺维萨德''123'); ('1''诺维萨德''123'); ('3''Beograd''124');

我想保留

('1''诺维萨德''123'); ('3''Beograd''124');

我只知道基本的mysql。

4 个答案:

答案 0 :(得分:1)

删除条目时,请务必重置ID增量

ALTER TABLE 'table_name' AUTO_INCREMENT = 1

答案 1 :(得分:1)

你能复制,删除和删除吗?

CREATE TABLE Copy_Temp as
SELECT item_id, text, number 
FROM ads
GROUP BY item_id, text, number;

DROP Table ads;

RENAME TABLE Copy_Temp TO ads;

答案 2 :(得分:1)

将所有唯一记录选择到临时表中 删除原始表中的所有记录 将临时表中的所有记录插入原始表中。

答案 3 :(得分:0)

DELETE emp FROM employee emp, employee emp2
WHERE emp.id > emp2.id
AND emp.name = emp2.name

例如,如果表employee中存在重复记录(多次具有相同名称),则此查询将删除所有重复记录。