同时插入到具有主键和外键的表中

Insert into tables with primary and foreign key at same time

SQL 还很陌生,已经用了一天时间。

这是我的两个 table:

中心(cid,名称,位置,nurse_supervisor) 护士(姓名,centre_id,证书)

我有一个大问题。 Center 中的 (nurse_supervisor) 是 Nurse (nid) 的外键。 Nurse 中的 (centre_id) 是 (Centre cid) 的外键。

我不知道如何填充这些 table。我试过了: INSERT ALL,产生 "A foreign key value has no matching primary key value" 我曾尝试删除外键约束并在填充 tables 后添加它们,但是当我这样做时它说我无法使用预先存在的数据向 tables 添加约束。 我尝试删除 NOT NULL - 但意识到这很愚蠢,因为无论如何都会强制执行约束。

我浏览的所有内容都说先填充父 table,然后再填充子,但是这些 table 是相互链接的。

我正在使用 SQL 开发人员。

这是一个糟糕的架构设计,但解决它的一种方法是:

  1. 在两个 table 定义中使 centre_idnurse_supervisor 列都为 NULL
  2. 将所有行插入到两个 table 中,但这两列为 NULL
  3. centre_id 更新为 Nurse table
  4. 中每一行的正确值
  5. nurse_supervisor 更新为 Centre table
  6. 中每一行的正确值