Я пытаюсь разобрать документы MySQL а>. Они могли бы быть яснее. Кажется, они говорят, что есть пять возможностей: SET NULL, NO ACTION, RESTRICT, CASCADE и SET DEFAULT.
NO ACTION и RESTRICT делают одно и то же (предотвращают любые изменения БД, которые нарушают FK), и эта вещь используется по умолчанию, поэтому, если вы опускаете предложение ON DELETE, вы говорите NO ACTION (или RESTRICT - то же самое).
SET NULL позволяет удалить родительскую строку, устанавливает FK в NULL.
CASCADE удаляет дочернюю строку.
SET DEFAULT никогда не следует использовать.
Это более-менее правильно?