0
我有一張桌子,用於存儲「朋友」關聯。因此,第1列是userID,第2列是friendID(其中friendID只是用戶表中的另一個用戶ID)「FriendList」的MYSQL複合鍵
我一直計劃每個關係有兩個條目解釋,假設用戶100想成爲200我的表是這樣的:
USERID = 100
FRIENDID = 200
STATUS = 'friend'
但隨後也
USERID = 200
FRIENDID = 100
STATUS = 'friend'
他們接受好友請求後,我們的想法是,我們的關係在兩個方向上定義的,所以我可以設置不同的狀態取決於。關於他們是否「請求朋友」船舶「,或者如果用戶想要對朋友分類或放置自定義筆記。
我想使用userID和FriendID列作爲組合鍵,但是如果我在兩個地方有相同的userID和FriendID組合(即使它們顛倒過來),MYSQL會死於火災嗎?
如果我有一個userID爲100的行,並且friendID爲200,那麼MYSQL將它視爲與userID 200和friendID 100不同?如果兩者都具有「朋友」的地位呢?兩行之間的值相同,但順序不同。我一直無法確定Mysql在這種情況下會做什麼。 –
我測試了它似乎正在工作。我想我什麼也不擔心。只要鍵不以相同的順序出現,並且沒有相同的值,就不會抱怨。你曾說過一些關於它不喜歡相同的值的狀態,雖然...我試圖在PHPadmin手動設置它,它似乎並不在乎,所以我不知道你的意思,但它的工作,所以謝謝! –
這意味着如果您試圖添加具有相同userID和相同friendID的2行,則第二個將失敗,除非在INSERT查詢中有「ON DUPLICATE KEY UPDATE」子句。 –