Отличие операторов RESTRICT и NO ACTION в MySQL

Рейтинг: 1Ответов: 1Опубликовано: 17.04.2015

В чем отличие RESTRICT от NO ACTION в mySQL (при использовании внешнего ключа)?

Ответы

▲ 2Принят

Изначально в стандартном SQL:

  • NO ACTION — при удалении или обновлении записей из таблицы предке связи с таблицами потомками игнорируются, до закрытия транзакции. Таким образом, внутри одной транзакции можно сначала обновить или удалить записи в таблице предке, до внесения изменений в таблицы потомки. Работает это только с отложенными ключами.
  • RESTRICT — при попытке удаления или обновления записей из таблицы предка, при наличии связанных записей в таблице потомка будет выдана ошибка.

Но в MySQL параметры RESTRICT и NO ACTION идентичны.

https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html