如何在mysql中删除表中的重复记录
我想从表中删除重复记录。该表没有主键ID,因此答案不合适 以下是我的尝试:如何在mysql中删除表中的重复记录,mysql,Mysql,我想从表中删除重复记录。该表没有主键ID,因此答案不合适 以下是我的尝试: 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) 如果您的DBMS中没有bug,并且没有任何约束,那么以下内容可能会有所帮助: AL
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)
如果您的DBMS中没有bug,并且没有任何约束,那么以下内容可能会有所帮助:
ALTER IGNORE TABLE afscp_permit ADD UNIQUE INDEX field_name_index (field_name );
创建具有相同列的临时表并执行以下操作如何:
INSERT INTO temp SELECT DISTINCT * FROM afscp_permit;
DELETE FROM afscp_permit;
INSERT INTO afscp_permit SELECT * FROM temp;
DROP TABLE temp;
基于特定列或整行删除重复项?有什么问题吗。。。会发生什么?名为field_name的单列的重复值,如果它是alreday存在的,则将其删除row@d“阿拉尔”警察,什么也没发生,条件永远都不是真的,因此毫无意义。可能的重复