外键部分为的行,外约束会被忽略。null
. 这也意味着对可空列的修改不会传播到子表。
比较 https:/dbfiddle.uk?rdbms=postgres_9.6&fiddle=e666862f83177715b45eb04f0b0221e1。
有没有什么非触发的方式来设置可空列的传播?
我看不出这里有什么问题。 一个外键与一个 NULL
值与父表没有关系。 所以 watcher_3
是通过 foo_w__foo_id_foo_prop__fk
但不是 foo_w__foo_id_foo_prop_foo_target
.
所以,没有传播更新目标的环节,因为没有一个合适的外键关系。
有一种方法可以做到你想要的,那就是引入一个 "假的" NULL
价值,如 这个 的例子。
也就是说,你的例子让我想起了为什么我避免层叠约束。