mysql - 外键和复合 PK

标签 mysql mysql-workbench

我非常喜欢使用 mySQL Workbench 的 EER 图来处理更复杂的表。我用它来定义表之间的外键。我知道外键应该被索引,但是当我使用 Workbench 绘制与另一个表的关系时,它创建了一个复合 PK,有效地创建了一个索引。

所以我对此有点模糊。出于某种原因,外键必须是复合 PK 的一部分吗?

最佳答案

您要么错误地设置了外键,要么误读了您所看到的内容。
PKs 出现在 EER 图中的 Key 图像中,而 FKs 将显示为填充的红色菱形或空的红色菱形,具体取决于它是否默认为 Null。

根据定义,PK 被索引以进行快速查找等...根据定义,mysql 还将为 FK relationship 设置约束和索引.

查看可以使用 mysql workbench 下载的 sakila 数据库的 EER 图。如果您在使用 mysql workbench 中的 EER 工具设置正确的 FK 关系时遇到问题,这是一个很好的例子。 enter image description here

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

相关文章:

mysql - 将我的 sql 行转换为列

mysql-workbench - 如何在 erd MySQL WB 6.0 的关系线中显示标题

mysql - 尝试在 MySQL 数据库中支持 unicode

sql - 如何查询同一个表的子关系并正确排序

mysql - 额外的列会破坏 MySQL 的性能

java - 无法创建 PoolableConnectionFactory

php - 为什么 html 输入提交不分配 $_POST 数组值

html - 返回空白作为下划线

MySQL Workbench 导入/导出 : ERROR 2003 (HY000): Can't Connect to MySQL server on 'localhost' (110)

mysql - 在数据库模式中集成支付方式