MySQL - 无法创建 1:1 关系
MySQL - Trouble to create a 1:1 relationship
我正在尝试在 MySQL Workbench 处创建 1:1 关系(不使用 Diagram)。我有两个 table,叫做 agricultural_machine
和 tractor
。我想要一个关系 1:1 是 agricultural_machine_id
被 tractor_id
.
引用
外键位于 agricultural_machine table
拖拉机外键 table
图是这样形成的
我想要这个
为了实现真正的 1:1 关系,您需要 可延迟约束 。这意味着在这种情况下,在您将 "the other row" 插入另一个 table 时,需要在短时间内忽略外键约束(可能直到事务结束)。插入两行后,现在可以重新激活和验证外键约束。否则,你先插入哪一行?任何插入都将失败,因为 FK 不会被验证。
很遗憾,MySQL 未实现此 标准 SQL 功能,因此您将无法执行此操作。您需要将数据库更改为 PostgreSQL 或 Oracle 以实施 1:1 关系。
我正在尝试在 MySQL Workbench 处创建 1:1 关系(不使用 Diagram)。我有两个 table,叫做 agricultural_machine
和 tractor
。我想要一个关系 1:1 是 agricultural_machine_id
被 tractor_id
.
外键位于 agricultural_machine table
拖拉机外键 table
图是这样形成的
我想要这个
为了实现真正的 1:1 关系,您需要 可延迟约束 。这意味着在这种情况下,在您将 "the other row" 插入另一个 table 时,需要在短时间内忽略外键约束(可能直到事务结束)。插入两行后,现在可以重新激活和验证外键约束。否则,你先插入哪一行?任何插入都将失败,因为 FK 不会被验证。
很遗憾,MySQL 未实现此 标准 SQL 功能,因此您将无法执行此操作。您需要将数据库更改为 PostgreSQL 或 Oracle 以实施 1:1 关系。