如何在 MySQL 中添加带有额外信息的外键

How to Add Foreign Key with Extra Information in MySQL

我有 2 个 table 部门和位置,locationID 是位置 table 中的主键,部门 table 也有该字段。

现在在部门 table 中添加位置 ID 为 101 的数据后,它不会让我添加外键引用位置 table 因为位置 table 没有任何locationID 为 101 的数据,因此 locationID 为 101 的数据在不属于位置 table.

的部门 table 中是额外的

那么如何在不删除部门 table 中的信息或在位置 table 中添加信息(如果可能)的情况下解决这个问题?

这是 foreign key constraint 并且行为符合预期。

如果你根本不想要它,你可以让两个 table 相互独立,即不要让 locationID 成为 department 中的外键table,让它成为与位置 table.

无关的不同 locationID

否则,您可以按照Disabling foreign key constraint暂时禁用外键约束。但这可能会导致将来维护 table 时出现很多问题。