gpt4 book ai didi

mysql - mysql 中的外键

转载 作者:行者123 更新时间:2023-11-29 11:02:52 24 4
gpt4 key购买 nike

我对关联某些表格的方式有疑问。我有这些表:

  • 用户表:用户名(主键)

  • 团队表:team_name(主键)、用户名(外键引用User(用户名))

通过这种关系,我了解到一个用户可以拥有多个团队。

  • 组表:group_name(主键)

我希望一个组可以有多个团队,但这些团队必须属于不同的用户,因此一个用户的两个团队不能位于同一个组中。

我想过用这种方式与三个表建立关系:

  • Group_teams 表:(组名称、用户名、团队名称)。该表将有一个复合主键(组名和用户名),这样我就可以确保一个用户在同一组中不能拥有多个团队。

此外,我认为我应该创建一个复合外键引用 User(username) 和 Team (team_name) 以便能够控制用户的团队是否存在。最后,我应该创建另一个外键引用 Group (group_name) 来控制组是否存在。

我不确定会是这种方式,因为当我尝试这样做时出现错误。你能帮助我并告诉我你的意见吗?

最佳答案

如果一名用户(最多)只能属于一个团队,那么您就具有 0/1 - 多关系。

最简单的方法是在 Users 表中添加 TeamId。这将是对 Teams 的外键引用。

不需要第三个表来表示这种关系。

关于mysql - mysql 中的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com