Какие действия могут быть заданы для внешнего ключа при удалении (CASCADE, SET NULL и др.)?
Уровень: Middle
Ответ
При объявлении внешнего ключа можно указать ON DELETE (и ON UPDATE) поведение: CASCADE – при удалении родительской записи автоматически удалить связанные дочерние; SET NULL – при удалении родителя записать NULL во внешний ключ потомков; RESTRICT/NO ACTION – запретить удаление родителя, если существуют связанные дочерние записи (поведение по умолчанию). Эти опции помогают управлять связями при удалении данных, обеспечивая согласованность (например, каскадно удаляя связанные строки или "осиротевшим" записям проставляя NULL ссылки).