我想从表中删除重复记录。该表没有主键(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)
答案 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;