【发布时间】:2020-12-11 19:02:32
【问题描述】:
可能重复:
MySQL Relationships
我正在尝试在 MySQL 中使用外键创建一对多关系。
两个表,user 和 location。每个user 可以有多个location,但每个location 只能有一个user。
我该如何配置?如果有帮助,我会使用 HeidiSQL,不过我也可以输入代码。
【问题讨论】:
-
用户(
id,username,location);位置(id,locationname,user);如果用户存在于该位置,则删除之前的记录。 -
其实,让我问这个问题,以便我更好地理解它。 MySQL 如何知道它是一对多关系与一对一或多对多的关系?这可能是我感到困惑的地方,因为我觉得我理解它(建立关系)而不是它们的工作原理。
-
@James:这完全取决于表和外键 (FK) 的创建方式。应该创建一对一,以便表共享相同的主键 (PK),其中一个表将另一个表作为 FK 引用。创建一个一对多,以便多方的表具有不同的 PK 和指向一侧表上的 PK 的 FK 列。正如我们在您之前的问题中所讨论的那样,通过引入第三个表并基本上创建两个一对多关系来创建多对多。
标签: mysql database-design foreign-keys foreign-key-relationship