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