我想编写一个系统,以便用户可以创建自己的团队,其他用户也可以加入其中。问题是,我不知道如何处理,如果用户创建了一个团队,那么这个团队可以容纳无限的用户。
我的用户数据库如下所示:ID,名称,电子邮件,密码和团队
如果无法理解,请询问。
非常感谢你。
此致Max
这实际上是关系数据库的美。
您需要三个表:
users: id, name, email, password -- no team reference here
teams: id, name
membership: user_id, team_id
每行membership
引用一个用户和一个团队。
给定用户membership
加入更多团队时,可以有多个行。
给定的团队中可以有任意行membership
,以指示该团队中的球员。
使用关系数据库时,您需要考虑行集。
在评论中回答您的后续问题:
您可以这样插入:
INSERT INTO membership
SET user_id = (SELECT MAX(id) FROM users WHERE name = 'hpotter'),
team_id = (SELECT MAX(id) FROM teams WHERE name = 'gryffindor');
或者您可以使用变量:
SELECT MAX(id) INTO @user_id FROM users WHERE name = 'hpotter';
SELECT MAX(id) INTO @team_id FROM teams WHERE name = 'gryffindor';
INSERT INTO membership SET user_id = @user_id, team_id = @team_id;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句