Я не проектирую схемы каждый день, но когда я это делаю, я пытаюсь правильно настроить / удалить каскадные обновления, чтобы упростить администрирование. Я понимаю, как работают каскады, но я никогда не могу вспомнить, какой стол какой.
Например, если у меня есть две таблицы - Parent
и Child
- с внешним ключом для Child
этих ссылок Parent
и имеет ON DELETE CASCADE
, какие записи вызывают каскад и какие записи удаляются каскадом? Моим первым предположением будет Child
удаление Parent
записей при удалении записей, поскольку Child
записи зависят от Parent
записей, но ON DELETE
это неоднозначно; это может означать удаление Parent
записи при Child
удалении записи, или это может означать удаление Child
записи при Parent
удалении. Так что это?
Я хочу синтаксис был ON PARENT DELETE, CASCADE
, ON FOREIGN DELETE, CASCADE
или что - то подобное для устранения неясности. У кого-нибудь есть мнемоника для запоминания этого?