我非常喜欢使用 mySQL Workbench 的 EER 图来处理更复杂的表。我用它来定义表之间的外键。我知道外键应该被索引,但是当我使用 Workbench 绘制与另一个表的关系时,它创建了一个复合 PK,有效地创建了一个索引。
所以我对此有点模糊。出于某种原因,外键必须是复合 PK 的一部分吗?
最佳答案
您要么错误地设置了外键,要么误读了您所看到的内容。
PKs 出现在 EER 图中的 Key 图像中,而 FKs 将显示为填充的红色菱形或空的红色菱形,具体取决于它是否默认为 Null。
根据定义,PK 被索引以进行快速查找等...根据定义,mysql 还将为 FK relationship 设置约束和索引.
查看可以使用 mysql workbench 下载的 sakila 数据库的 EER 图。如果您在使用 mysql workbench 中的 EER 工具设置正确的 FK 关系时遇到问题,这是一个很好的例子。
关于mysql - 外键和复合 PK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884513/