Aloud thinking |
While some see them as the crazy ones, we see genius. |
记得之前发过一篇blog,利用alter table增加唯一索引并忽略错误,可以按照某一字段删除重复数据
任何删除操作之前必须先备份数据,然后查出来看看
SELECT title FROM shows GROUP BY title HAVING count(title) > 1
查询出需要的数据,重名命回去
- CREATE TABLE shows_tmp AS SELECT * FROM shows GROUP BY title
- DELETE TABLE shows
- RENAME TABLE shows_tmp TO shows
反过来,干掉脏数据
- CREATE TABLE shows_backup AS SELECT * FROM shows GROUP BY title
- TRUNCATE shows
- INSERT INTO shows SELECT * FROM shows_backup GROUP BY title
好吧,知道你喜欢简单粗暴
DELETE FROM shows
WHERE title IN
(SELECT title
FROM shows
GROUP BY title HAVING count(title) > 1);