MySQL - 无法创建 1:1 关系

MySQL - Trouble to create a 1:1 relationship

我正在尝试在 MySQL Workbench 处创建 1:1 关系(不使用 Diagram)。我有两个 table,叫做 agricultural_machinetractor。我想要一个关系 1:1 是 agricultural_machine_idtractor_id.

引用

外键位于 agricultural_machine table

拖拉机外键 table

图是这样形成的

我想要这个

为了实现真正的 1:1 关系,您需要 可延迟约束 。这意味着在这种情况下,在您将 "the other row" 插入另一个 table 时,需要在短时间内忽略外键约束(可能直到事务结束)。插入两行后,现在可以重新激活和验证外键约束。否则,你先插入哪一行?任何插入都将失败,因为 FK 不会被验证。

很遗憾,MySQL 未实现此 标准 SQL 功能,因此您将无法执行此操作。您需要将数据库更改为 PostgreSQL 或 Oracle 以实施 1:1 关系。