Что такое ON DELETE SET NULL?

Junior
335 просмотров
AFK Offer AI

ON DELETE SET NULL — при удалении родительской строки внешний ключ в дочерней ставится в NULL. Удалил менеджера — у его сотрудников manager_id стал NULL, но сами сотрудники остались. В отличие от CASCADE, данные не удаляются. В отличие от RESTRICT, удаление не блокируется. Подходит для опциональных связей: заказ может существовать без курьера. Столбец с FK должен быть nullable, иначе ошибка. Ещё есть ON DELETE SET DEFAULT — ставит значение по умолчанию вместо NULL.

Следующий вопрос

KISS principle?