Microsoft Access 数据库中有两个表。其中一个定义元素,另一个引用它们。然而,这个参考是可选的。该值可以为 NULL。只要外键存在,我就不允许插入或更新 NULL 值。在没有外键的情况下保存 NULL 值后,我无法添加键。
参考列设置为“Required = false”,并且允许单独使用 NULL 值。只有参照完整性不能处理 NULL 值。
那怎么解决?
更新:我想到了一些可能相关的事情:我的外键使用了两列。其中一个始终设置,但另一个可以为空。
添加了示例架构:
表总线:
列:
• objid 整数
• busnumber 整数
• name varchar
主键:objid、busnumber
表 conn:
列:
• objid 整数
• name varchar
• bus1 整数
• bus2 整数
主键:objid、名称
conn (objid, bus1) 引用总线 (objid, busnumber) 作为 1:n 并且
conn (objid, bus2) 引用总线 (objid, busnumber) 作为 1:n
两个引用都是可选的,但 objid 是上级对象的一部分并且总是被设置。