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

时间:2014-09-16 14:53:17

标签: mysql

我想从表中删除重复记录。该表没有主键(ID),因此答案like this不合适。

这是我的尝试:

DELETE FROM afscp_permit
USING afscp_permit, afscp_permit AS vtable
WHERE (NOT afscp_permit.field_name=vtable.field_name)
AND (afscp_permit.field_name=vtable.field_name)

2 个答案:

答案 0 :(得分:0)

如果您的DBMS中没有错误并且没有任何限制,则可能会有所帮助:

ALTER IGNORE TABLE afscp_permit ADD UNIQUE INDEX field_name_index (field_name );

答案 1 :(得分:0)

如何创建具有相同列的临时表并执行:

INSERT INTO temp SELECT DISTINCT * FROM afscp_permit;
DELETE FROM afscp_permit;
INSERT INTO afscp_permit SELECT * FROM temp;
DROP TABLE temp;