2

我正在开发一个程序,我想创建一个包含用户的组,然后该组始终存在并保存在 MySQL 数据库中。我只是不知道如何做到这一点。我的意思是我可以创建一个像这样的表:

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

然后我将不得不创建一个表,在这种情况下可以说是 3 个用户,但这不是性能不佳,也没有可能动态地使组更大。如果我想从群组中创建一个朋友列表,那么我也不能说用户只能有 3 个朋友。我怎么解决这个问题?

4

1 回答 1

4

你需要2张桌子:

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

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

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

GROUPS - GroupId, GroupName 
USERS - UserId, UserName, Password
USERS_GROUPS - UserId, GroupId
于 2012-12-17T12:24:31.940 回答