2015-04-01 65 views
0

我遵循以下步驟:爲什麼(默認)外鍵是空的? 。 。並且外鍵和主鍵可以是同一列嗎?

  1. 創建了兩個表(沒有限制)
  2. ALTER TABLE#1(添加NOT NULL和主鍵約束)
  3. ALTER TABLE#2(添加外鍵約束) 。 。現在試圖將主鍵約束添加到 的外鍵列中#2

得到錯誤像列不能爲NULL。

+0

主鍵不能爲NULL ...由於主鍵是唯一的.. – Naruto 2015-04-01 09:11:45

+0

您無法將主鍵廣告到可爲空的列。 – Jaco 2015-04-01 09:12:23

回答

0

這是外鍵引用主鍵的好習慣。您正在收到此錯誤,因爲無法在可爲空的列上設置主鍵。你可以將主鍵更改爲標識列嗎?

+0

感謝您的回覆,但是默認情況下,外鍵是否爲空?與我的問題一樣,我也需要爲我的外鍵設置非空約束。 – 2015-04-01 09:50:00

+0

由外鍵引用的列之一被定義爲NOT NULL。您需要將列定義更改爲NOT NULL。 – Jaco 2015-04-01 10:04:29