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