如何删除mysql上的所有重复行并保留一个Query?
表格名称为:交易
我的重复行:
tolower($1)<tolower($2)
正确行:
reference type
--------- --------
1 9
1 10
1 10
1 10
1 11
1 11
答案 0 :(得分:1)
ALTER IGNORE TABLE `transaction`
ADD UNIQUE INDEX (`col_1`, `col_2`);
ALTER
:用于修改表格。
IGNORE
:如果正在使用IGNORE
,则仅使用重复行的第一行。所以剩下的行都会被删除。
ADD UNIQUE INDEX
:为了防止重复,我们分别在当前列中添加unique indexes
。 Unique indexes
的工作方式与primary keys
相同。虽然您只能拥有一个primary key
,unique indexes
,但您可以拥有与列数相同的数量,这样您就可以提高当前列的唯一性,而无需重复。