Microsoft Access數據庫中有兩個表。其中一個定義元素,另一個引用它們。然而這個參考是可選的。該值可以是NULL。只要外鍵存在,我不允許插入或更新NULL值。保存沒有外鍵的NULL值後,我無法添加密鑰。帶有不允許NULL值的參照完整性的MS Access
引用列設置爲「必需= false」,並且允許NULL值自行使用。只有參照完整性不能處理NULL值。
這怎麼解決?
更新:一些可能相關的東西出現在我的腦海裏:我的外鍵使用兩列。其中一個始終設置,但另一個可以爲空。
新增樣本模式:
表總線:
列:
•ObjID的整數
•busnumber整數
•名VARCHAR
主鍵:ObjID中busnumber
表康恩:
列:
•的objid整數
•名稱VARCHAR
•BUS1整數
•BUS2整數
主鍵:的objid,名稱
康恩(的objid,BUS1)的引用到總線(的objid,busnumber),爲1:n的和
康恩(的objid,BUS2)被引用到總線(的objid,busnumber),爲1:n的
兩篇參考文獻是可選的,但objid是上級對象的一部分,並且總是被設置。
請後兩個表指示哪些列用作索引和外鍵的樣本數據。當然,你有一個組合鍵是相關的。 – Fionnuala
@Remou:我在上面添加了一個示例模式描述。 – ygoe
varchar?您正在使用MS Access(Jet/ACE)後端還是SQL Server? – Fionnuala