您好,登錄后才能下訂單哦!
一個表的model中,根據生產環境需要,需要設置site和對應的cdn服務器ip是聯合唯一的,最開始創建表的時候,沒有考慮到這個問題,后來要設置unique_together,但是在migrate的時候,報錯:a unique database constraint for 2 or more fields together
很明顯數據庫中有很多這兩個字段重復的數據,所以要刪除后再migrate就沒問題了,但是怎么刪除這些數據呢?
通過以下兩個方法即可:
1)CREATE TEMPORARY TABLE tmp_table SELECT * FROM 目標表;
2)delete from 目標表 where id not in ( select max(id) from tmp_table group by cdn_ipaddr,site_id);
說明:
創建臨時表,把目標表的數據復制到臨時表中;
刪除目標表中數據,只留id最大的重復數據即可!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。