mysql - 数据库结构 - 属于多个团队的用户

标签 mysql database

如果我有一个包含电子邮件和登录详细信息等的用户表,如果用户只属于一个团队,我可以创建一个名为 team 的新列,但如果该用户属于多个团队,您会怎么做构造它?

我能想到的最好方法是为特定用户创建一个名为 PlayersTeams 的表,但其规模似乎需要创建大量表。这是我能想到的最好的方法,但我认为这里更有经验的人可能会给我更好的建议。

只有一个团队:

PlayerID   email           TeamID
1          John@abc.xyz    123
2          sarah@pqr.stu   456
3          peter@asd.jkl   789

多个团队:

PlayerID    TeamID
1           123
1           456
1           789
2           123
2           789
3           456
3           789

我对此表示怀疑,但是我应该有一个特定的用户数据库,然后一旦用户登录,就切换到团队数据库吗?

最佳答案

多对多关系正是您所寻找的。

使用第三个(联结)表是完成此场景的正确方法。表结构示例:

player: player_id, email
team: team_id, name
player_teams: player_id, team_id

关于mysql - 数据库结构 - 属于多个团队的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42630188/

相关文章:

MySQL - 如何查询此输出?

php - 如何在php中创建mysql左连接

php - 在 PHP 中获取 mysql 数据库中特定用户的 ID

java - JPA - 使用包含附加信息的多对多表格

database - 在文件系统中存储图片时,使用相对路径还是绝对路径?

php mysql 数据库排序依据

java - Spring中的数据库连接管理

Mysql:测试获取没有匹配项

mysql - 帮我把 SUBQUERY 变成 JOIN

MySQL 检索组的最新记录