如何在MySQL数据库中创建Whatsapp中的组

时间:2012-12-17 12:22:10

标签: mysql database many-to-many usergroups

我正在开发一个程序,我希望创建一个包含用户的组,然后将其保存在MySQL数据库中。我只是没有任何线索如何做到这一点。我的意思是我可以创建一个像:

的表
GROUPID INT PRIMARY KEY
GROUPNAME TEXT
USER1ID INT
USER2ID INT
USER3ID INT

然后我将不得不创建一个表,可以采取像这样的情况说3用户,但不是一个不高性能,没有可能动态地使组更大。如果我想在集团之外建立朋友列表,那么我也不能说用户只能有3个朋友。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

您需要2张桌子:

GROUPS - GroupId, GroupName
USERS - UserId, UserName, Password, GroupId

USERS中的GroupId将用户条目链接到GROUPS。您也可以(应该)使用foreign key强加链接。

如果用户可以属于多个组,则需要many-to-many关系。这是通过第3个表实现的,如下所示:

GROUPS - GroupId, GroupName 
USERS - UserId, UserName, Password
USERS_GROUPS - UserId, GroupId