如何在UPDATE语句中使用计数器。例如,我在列中有一些重复的记录,如下所示:

--------------------
      Ref_Number
--------------------
108001798914
108001798914
108001798914
108001798914
108001798914
108001798914


如何删除重复项,结果应该是

--------------------
      Ref_Number
--------------------
108001798914
108001798915
108001798916
108001798917
108001798918
108001798919

最佳答案

尝试这个。在运行以下数据之前,请不要忘记备份数据:

CREATE TABLE temp_table LIKE my_table;

ALTER TABLE temp_table ADD UNIQUE (Ref_Number);
ALTER TABLE temp_table CHANGE Ref_Number Ref_Number INT(10)AUTO_INCREMENT PRIMARY KEY;

INSERT INTO temp_table (all,other,fields,except,refnumber,here)
SELECT all,other,fields,except,refnumber,here FROM my_table

TRUNCATE my_table;

ALTER TABLE my_table ADD UNIQUE (Ref_Number);
ALTER TABLE my_table CHANGE Ref_Number Ref_Number INT(10)AUTO_INCREMENT PRIMARY KEY;

INSERT INTO my_table
SELECT * FROM temp_table

DROP temp_table;


这是示例sqlfiddle

关于mysql - 使用MySQL Update语句删除重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21857958/

10-08 21:48