2013-01-19 46 views
0

可能重複:
Nullable Foreign Key bad practice?在什麼情況下外鍵不能爲空?

我知道外鍵被用於關聯或鏈接不同的表,但我的任務是要求爲標的物的具體條件。

+1

檢查http://stackoverflow.com/questions/1723808/nullable-foreign-key-bad-practice – spajce

+0

歡迎來到堆棧溢出。請將你的問題完整地寫在身上 - 標題應該是問題的概要,但是問題本身應該在問題的主題中全部寫出來。太久之前請閱讀[FAQ]。 –

回答

1

當它是子表中複合主鍵的一部分時,外鍵可能不爲空。

tableA 
id (int) PK 

tableB 
id (int) PK 

tableAB 
aId (int) 
bId (int) 
(aId, bId) PK
0

某些ORM需要FKs爲空,因爲它們鏈接實體和管理依賴關係的方式。

1

FOREIGN KEY約束可以包含空值;但是,如果複合FOREIGN KEY約束的任何列包含空值,則會跳過組成FOREIGN KEY約束的所有值的驗證。要確保複合FOREIGN KEY約束的所有值都已驗證,請在所有參與的列上指定NOT NULL。

相關問題