如何删除mysql表中的重复记录

时间:2012-03-01 06:28:05

标签: mysql

我遇到查找和删除重复记录的问题,我有一个名为 CallDetailRecordID 的ID表,我需要扫描并删除记录,重复的原因是我是将数据导出到特殊的拱形引擎与 MySQL 一起使用,并且它不支持索引。

我尝试使用“Select DISTINCT”,但它不起作用,还有另一种方法吗?我希望我可以创建一个商店程序并让它每周运行以执行清理。

非常感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:3)

CREATE TABLE tmp_table LIKE table    
INSERT INTO tmp_table (SELECT * FROM table GROUP BY CallDetailRecordID)
RENAME table TO old_table
RENAME tmp_table to table

如果需要,请删除旧表,在开头添加LOCK TABLES语句以避免丢失插入。