【问题标题】:MySQL - Trouble to create a 1:1 relationshipMySQL - 无法创建 1:1 关系
【发布时间】:2020-09-02 18:23:31
【问题描述】:

我正在尝试在 MySQL Workbench 中创建 1:1 关系(不使用 Diagram)。我有两个名为agricultural_machinetractor 的表。我想要一个 1:1 的关系,即 agricultural_machine_idtractor_id 引用。

农业机器表中的外键

拖拉机桌上的外键

图表是这样形成的

我想要这个

【问题讨论】:

    标签: mysql foreign-keys mysql-workbench entity-relationship


    【解决方案1】:

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

    不幸的是 MySQL 没有实现这个标准 SQL 特性,所以你将无法做到。您需要将数据库更改为 PostgreSQL 或 Oracle 以实现 1:1 关系。

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      • 2014-11-26
      • 2014-05-30
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多