我有一个包含类似项目表项目
name
------
alpha
alpha
beta
charlie
charlie
在这种情况下,我怎么会删除重复的行,但一个记录应保持。 上表没有任何主键。
我有一个包含类似项目表项目
name
------
alpha
alpha
beta
charlie
charlie
在这种情况下,我怎么会删除重复的行,但一个记录应保持。 上表没有任何主键。
试试这个
DELETE FROM item WHERE GREATEST(0,@num := IF(NAME = @NAME, @num + 1, 0),LEAST(0, LENGTH(@NAME := NAME)))>0
重新创建该表:
RENAME TABLE `testTable` TO `testTable2`;
CREATE TABLE `testTable`
SELECT DISTINCT `name` FROM `testTable2`;
或您的字段添加唯一索引 。
ALTER IGNORE TABLE `tableName`
ADD UNIQUE INDEX (`name`)