Я не вижу проблемы здесь. Внешний ключ со значением NULL
не имеет отношения к родительской таблице. Таким образом, watcher_3
связан через foo_w__foo_id_foo_prop__fk
, но не foo_w__foo_id_foo_prop_foo_target
.
. Таким образом, нет ссылки на распространение для обновления цели, потому что нет правильной связи внешнего ключа.
Единственный способ сделать то, что вы хотите, это ввести «поддельное» значение NULL
, как в этом примере.
Тем не менее, ваш пример напоминает мне, почему я избегать каскадных ограничений.