2016-07-18 60 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的每一行的正確值表