使用 SQL 篩選重複的資料

You are here:
< All Topics

進行 OpenUpgrade 升級時,執行下面這行,跳出了有很多重複資料的錯誤訊息

ALTER TABLE "mail_followers" ADD CONSTRAINT "mail_followers_mail_followers_res_partner_res_model_id_uniq" unique(res_model,res_id,partner_id)

唯一的解決方法就是刪除重複的資料

但資料庫資料量龐大,此時可以使用下列語法來快速篩選

select column1column2column3, count(*) from Table group by column1column2column3 having count(*) > 1; 

例如
select res_model, res_id, partner_id, count(*) from mail_followers group by res_model, res_id, partner_id having count(*) > 1;

就會顯示出哪些資料的重複次數了

刪除的部分,目前還沒有找出合適的方案

Next 資料庫更改欄位值
Table of Contents