删除mysql上的所有重复行并保留一个Query

时间:2017-12-03 15:34:04

标签: php mysql mysqli

如何删除mysql上的所有重复行并保留一个Query?

表格名称为:交易

我的重复行:

tolower($1)<tolower($2)

正确行:

reference    type  
---------  --------
        1         9
        1         10
        1         10
        1         10
        1         11
        1         11

1 个答案:

答案 0 :(得分:1)

ALTER IGNORE TABLE `transaction`   
ADD UNIQUE INDEX (`col_1`, `col_2`);

ALTER:用于修改表格。

IGNORE:如果正在使用IGNORE,则仅使用重复行的第一行。所以剩下的行都会被删除。

ADD UNIQUE INDEX:为了防止重复,我们分别在当前列中添加unique indexesUnique indexes的工作方式与primary keys相同。虽然您只能拥有一个primary keyunique indexes,但您可以拥有与列数相同的数量,这样您就可以提高当前列的唯一性,而无需重复。