我一直在社交網站上工作。這裏用戶請求另一個用戶成爲他的朋友(朋友請求)。我想到了一個「朋友」表看起來像社交網站的朋友桌
Table Name: Friends
Coloumns :
User1 - Int - FK
User2 - Int - FK
Request - Enum('0','1')
Time - DateTime
PK - (User1, User2)
在請求字段「0」時,請求由用戶1發到用戶2,當請求已獲得用戶2「1」被存儲在存儲中。
問題出現在我想要檢索用戶的所有朋友時。我必須每次檢查請求字段是否爲'0'或'1'。還有另一種方法可以做到嗎?如果我有另一張存儲朋友請求的所有細節的表,會更好嗎?
爲什麼這是一個問題?它不應該只要你有請求字段索引。做一個像SELECT * FROM friends WHERE User1 = XX和Request = 1'這樣的查詢應該沒問題。 – 2012-08-13 17:49:51
@MikeBrant如果User1是User2的好友,那麼User2也是User1的好友。因此,查詢將成爲'SELECT * FROM WHERE(User1 = XX或User2 = XX)和Request = 1'。不是很複雜嗎? – Vicky 2012-08-13 18:09:36