這次因為有一支程式在設定的時候不小心跑到重複的排程,所以造成了資料重複
上網去查有兩種方式
1.用 ALTER IGNORE TABLE `tablename` ADD UNIQUE INDEX(`Column1`,`Column2`...);
這是直接刪除欄位裡面的重複資料的方式
2.建立一個新的表格,然後把重複資料先移過去,在把非重複資料移過去
2.1 INSERT INTO `tablename01` SELECT * FROM `tablename` GROUP BY `Column1`,`Column2` HAVING count(*)>1
2.2 INSERT INTO `tablename01` SELECT * FROM `tablename` GROUP BY `Column1`,`Column2` HAVING count(*)=1
其實使用第一的方式比較快,但是總覺得不保險,所以我就選擇了第二種比較麻煩的方式
至少之前的 table 都還留著 🙂
PS. GROUP BY 如果在 MySQL 5.7 以上的版本使用上有點改變如果不做 GROUP BY 的欄位必須使用 ANY_VALUE()