2012-04-01 72 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