Ответ 1
Да, это правильно:
НЕТ ДЕЙСТВИЯ: [...] InnoDB отклоняет операцию удаления или обновления для родительской таблицы.
RESTRICT: отклоняет удаление или обновление для родительской таблицы. Указание RESTRICT (или NO ACTION) является то же самое, что исключить ON DELETE или ON UPDATE. [...]
По-видимому, NO ACTION
и RESTRICT
являются синонимами. Кроме того, поскольку они используются всякий раз, когда нет предложения ON DELETE / UPDATE
, это поведение по умолчанию.
SET NULL: удалить или обновить строку из родительской таблицы и установить столбец или столбцы внешнего ключа в дочерний стол - NULL. [...]
Пограничный столбец установлен в NULL, если он не объявлен как NOT NULL (или InnoDB не разрешает удаление или обновление).
CASCADE: удалить или обновить строку из родительской таблицы и автоматически удалять или обновлять сопоставление строк в дочерней таблице. [...]
Каскад удаляет (или обновляет) внешний столбец.
УСТАНОВИТЬ ПО УМОЛЧАНИЮ: это действие распознано парсером, но InnoDB отклоняет определения таблиц, содержащие ON DELETE SET DEFAULT или ON UPDATE SET DEFAULT статьи.
Таким образом, вы не можете использовать эту опцию.