较旧的 SQL 服务器和通过外键实现的参照完整性

Older SQL servers and referential integrity thru foreign keys

我试图通过在实体和关系之间使用外键来了解参照完整性 table。

关系模式由 3 个 table 组成:

每个中的主键是 S 中的 SNum、P 中的 PNum 以及 SP 中 SNum 和 PNum 的复合主键和外键,引用它们各自的 table。

如果我对参照完整性的理解是正确的,如果我向 SP 输入非法条目 table(S 或 P 中的主键中不存在的条目)例如“S7 ”,他们不应该是因为S table中没有“S7”而发生错误吗?是因为服务器类型可能已过时并且没有获得完整性,还是我理解不正确?

MyISAM 存储引擎不支持外键约束。它们将被解析,然后被忽略。

https://dev.mysql.com/doc/refman/5.7/en/myisam-storage-engine.html

您可以 运行 show create table tablename 查看您使用的是哪个存储引擎。您几乎肯定会使用 InnoDB engine.