MYSQL 重覆資料怎麼刪除
這次又遇到一樣的問題了,key沒處理好,造成會有重複的資料
搜尋了一下,有看到幾種做法
1.直接刪掉在talbe裡重複的資料
例:ALTER IGNORE TABLE `資料表名稱` ADD UNIQUE INDEX(`欄位1`,`欄位2`...);
2.分二次,將 重複的資料 以及 未重複的資料 分別匯入另一個表,然後直接取代舊表
我採用了以下的方式(較安全,雖然慢了一點)
1.先將"未重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)=1
2.再將"重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)>1
3.直接用新表取代舊的表
參考資料來源
1、從MYSQL資料庫中找出重複的資料並刪除
2、[MYSQL]利用 SQL 找出欄位值重覆的記錄
這次又遇到一樣的問題了,key沒處理好,造成會有重複的資料
搜尋了一下,有看到幾種做法
1.直接刪掉在talbe裡重複的資料
例:ALTER IGNORE TABLE `資料表名稱` ADD UNIQUE INDEX(`欄位1`,`欄位2`...);
2.分二次,將 重複的資料 以及 未重複的資料 分別匯入另一個表,然後直接取代舊表
我採用了以下的方式(較安全,雖然慢了一點)
1.先將"未重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)=1
2.再將"重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)>1
3.直接用新表取代舊的表
參考資料來源
1、從MYSQL資料庫中找出重複的資料並刪除
2、[MYSQL]利用 SQL 找出欄位值重覆的記錄
搜尋了一下,有看到幾種做法
1.直接刪掉在talbe裡重複的資料
例:ALTER IGNORE TABLE `資料表名稱` ADD UNIQUE INDEX(`欄位1`,`欄位2`...);
2.分二次,將 重複的資料 以及 未重複的資料 分別匯入另一個表,然後直接取代舊表
我採用了以下的方式(較安全,雖然慢了一點)
1.先將"未重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)=1
2.再將"重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)>1
3.直接用新表取代舊的表
參考資料來源
1、從MYSQL資料庫中找出重複的資料並刪除
2、[MYSQL]利用 SQL 找出欄位值重覆的記錄
這次又遇到一樣的問題了,key沒處理好,造成會有重複的資料
搜尋了一下,有看到幾種做法
1.直接刪掉在talbe裡重複的資料
例:ALTER IGNORE TABLE `資料表名稱` ADD UNIQUE INDEX(`欄位1`,`欄位2`...);
2.分二次,將 重複的資料 以及 未重複的資料 分別匯入另一個表,然後直接取代舊表
我採用了以下的方式(較安全,雖然慢了一點)
1.先將"未重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)=1
2.再將"重複"的資料寫到另一個表 INSERT INTO `table_copy` SELECT * FROM `table` GROUP BY `field name` HAVING count(*)>1
3.直接用新表取代舊的表
參考資料來源
1、從MYSQL資料庫中找出重複的資料並刪除
2、[MYSQL]利用 SQL 找出欄位值重覆的記錄