假设我有“表 A”:
Id | Col A
1 Z
2 I
3 Null
...和 n 个具有这种格式的表:
Id | A_FK | OtherInfo
1 1 "Some info"
2 2 "Some more info"
3 3 "Blah"
...其中 A_FK 是对“表 A”ID 的外键引用。
所以有一个“表A”和n个“表B”。对于这些“B”表,其中一些可以具有 A_FK 的任何现有值(不需要约束)。其他“B”表只能引用 A_FK 值,其中对应的记录在 Col A 中没有 Null 值。
所以我的问题是:
- 我将如何编写一个约束来解决这个问题(我想这是一个非常简单的约束,我只是从来没有写过一个而且我感觉有点懒惰)?
- 约束是否反向起作用?假设我在“B”表中输入了一条记录,它链接到表 A 的 Id = 1(表 B 有约束)。这很好,因为表 A 的 1 = "Z" 的列 A。如果我稍后尝试将“Z”更改为 Null,会出现错误吗?
提前致谢。