2016-07-18 59 views
0

SQL很新,已经花了一天的时间。同时插入带有主键和外键的表格

这里是我的两个表:

中心(CID,名称,位置,nurse_supervisor) 护士(NID,名称,centre_id,证书)

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

我不知道如何填充这些表。我已经尝试过: INSERT ALL,它产生“外键值没有匹配的主键值” 我已经尝试删除外键约束并在填充表后添加它们,但是当我这样做时它说我不能添加对预先存在数据的表进行约束。 我试图删除NOT NULL - 但意识到这是愚蠢的约束将强制执行反正。

我所看到的一切都是先填充父表,然后填充子表,但是这些表互相链接。

我正在使用SQL开发人员。

回答

1

这是一个贫穷的架构设计,而是一种方式来解决这将是:

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