2012-04-01 61 views
1

我有一個表users,主索引爲userId。目前,每個用戶都有一個字段arrayOfRelatedUserIds,因此任何一個用戶都可以與其他幾個users有關係。 (這是格式的array)。我知道這不是最好的解決方案,並且有更好的方法來做到這一點,但我只是不理解。我如何做到這一點沒有數組?什麼是「合法」的設計方法,以便每個user一次與幾個users相關?瞭解與MySQL的一對多關係

回答

8

2列創建另一個表related_users

  1. userId
  2. related_userId

並存儲每個關係作爲行

+0

和ID字段,以便能夠修改或移除行。 – 2012-04-01 23:43:26

+1

@OZ_:'(userId,related_userId)'的複合主鍵有助於避免這裏的人造密鑰 – zerkms 2012-04-01 23:44:07

+0

'ID'鍵給出了寫入純CRUD的能力,而不是「WHERE .. AND ..」,所以我更喜歡ID所有實體。 – 2012-04-01 23:47:36