2012-02-18 42 views
0

我有一個表「朋友」與「用戶1」和「用戶2」列。如何刪除MySQL表數據中的重複關係?

如何刪除重複的關係? 例如,如果我已經有 user1=1user2=3, 我怎麼能刪除user1=3user2=1值?

我可以強制執行在MySQL中具有唯一索引?

回答

1

有了這個查詢,你可以找到重複關係

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和創建唯一索引

-1

爲了找到重複的,剛剛加入該表本身。這並不困難。

1

例如,不允許行,其中user1>user2

0

根據您的表,你可以創建在2列的複合主鍵強制執行唯一性等欄目。

+0

這將同時刪除重複... – Neil 2012-02-18 23:55:57

+0

好點!刪除查詢... – 2012-02-19 00:04:47