Вопросы к Поиску с Алисой
Разница между ON DELETE и ON UPDATE в MySQL заключается в действиях, которые выполняются соответственно при удалении и изменении связанной строки из главной таблицы. metanit.com
ON DELETE позволяет установить, что при удалении строки из главной таблицы автоматически удаляются все связанные строки из зависимой таблицы (опция CASCADE). metanit.com habr.com Например, если удалить категорию, то удалятся и все вещи, относящиеся к этой категории в таблице вещей. habr.com
ON UPDATE устанавливает, что при изменении значения первичного ключа автоматически изменится значение связанного с ним внешнего ключа (опция CASCADE). metanit.com Например, если обновить идентификатор у категории, то у вещей, которые ссылались на эту категорию, идентификатор также изменится на новый. habr.com
Также с помощью этих выражений можно установить другие опции, например: SET NULL (при удалении или обновлении связанной строки из главной таблицы для столбца внешнего ключа устанавливается значение NULL), RESTRICT (отклоняет удаление или изменение строк в главной таблице при наличии связанных строк в зависимой таблице) и другие. metanit.com javarush.com