我有一個表「朋友」與「用戶1」和「用戶2」列。如何刪除MySQL表數據中的重複關係?
如何刪除重複的關係? 例如,如果我已經有 user1=1
和user2=3
, 我怎麼能刪除user1=3
和user2=1
值?
我可以強制執行在MySQL中具有唯一索引?
我有一個表「朋友」與「用戶1」和「用戶2」列。如何刪除MySQL表數據中的重複關係?
如何刪除重複的關係? 例如,如果我已經有 user1=1
和user2=3
, 我怎麼能刪除user1=3
和user2=1
值?
我可以強制執行在MySQL中具有唯一索引?
有了這個查詢,你可以找到重複關係
SELECT *
FROM friends d
WHERE EXISTS (
SELECT 1
FROM friends f
WHERE f.user1 = d.user2
AND f.user2 = d.user1
AND f.user2 < f.user1
)
我建議把降低用戶ID來user1和創建唯一索引
爲了找到重複的,剛剛加入該表本身。這並不困難。
例如,不允許行,其中user1
>user2
。
根據您的表,你可以創建在2列的複合主鍵強制執行唯一性等欄目。
這將同時刪除重複... – Neil 2012-02-18 23:55:57
好點!刪除查詢... – 2012-02-19 00:04:47