Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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
Php 删除mysql上所有重复的行,并在查询中保留一行_Php_Mysql_Mysqli - Fatal编程技术网

Php 删除mysql上所有重复的行,并在查询中保留一行

Php 删除mysql上所有重复的行,并在查询中保留一行,php,mysql,mysqli,Php,Mysql,Mysqli,如何删除mysql上所有重复的行,并在查询中保留一行 表名为:事务 我的重复行: reference type --------- -------- 1 9 1 10 1 10 1 10 1 11 1 11 正确的行: reference type --------- ------

如何删除mysql上所有重复的行,并在查询中保留一行

表名为:事务

我的重复行:

reference    type  
---------  --------
        1         9
        1         10
        1         10
        1         10
        1         11
        1         11
正确的行:

reference    type  
---------  --------
        1         9
        1         10
        1         11
ALTER
:用于修改表

忽略
:如果使用了
忽略
,则只使用重复行的第一行。因此,其余的行将被删除


添加唯一索引
:为了防止重复,我们在当前列中分别添加
唯一索引
<代码>唯一索引的工作方式与
主键
相同。虽然您只能有一个
主键
唯一索引
,但您可以拥有任意数量的列,这样您就可以提高对当前列唯一性的安全性,而不必重复。

我们没有行id,请在回答中添加一些描述:它在列上创建了一个唯一的索引,基本上消除了重复项。它将调用一个错误,但忽略会覆盖该错误。它基本上是保存一个条目,并通过使其唯一来忽略/删除其余条目。肮脏但非常有效!!
ALTER IGNORE TABLE `transaction`   
ADD UNIQUE INDEX (`col_1`, `col_2`);