Php 删除mysql上所有重复的行,并在查询中保留一行
如何删除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 --------- ------
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`);