Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql中删除表中的重复记录_Mysql - Fatal编程技术网

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

如何在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

我想从表中删除重复记录。该表没有主键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,并且没有任何约束,那么以下内容可能会有所帮助:

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“阿拉尔”警察,什么也没发生,条件永远都不是真的,因此毫无意义。可能的重复