Ограничения внешнего ключа: когда использовать ON UPDATE и ON DELETE

Я разрабатываю схему своей базы данных с помощью MySQL Workbench, что довольно круто, потому что вы можете создавать диаграммы и конвертировать их: P

В любом случае, я решил использовать InnoDB из-за поддержки внешнего ключа. Одна вещь, которую я заметил, заключается в том, что он позволяет вам устанавливать параметры при обновлении и удалении для внешних ключей. Может ли кто-нибудь объяснить, где в простом примере можно использовать «Ограничить», «Каскад» и установить значение null?

Например, скажем, у меня есть таблица user , которая включает userID . И скажем, у меня есть таблица сообщений message , которая является многим-ко-многим и имеет 2 внешних ключа (которые ссылаются на один и тот же первичный ключ, userID в user ] Таблица). Полезны ли в этом случае настройки параметров «При обновлении» и «При удалении»? Если да, то какой мне выбрать? Если это плохой пример, не могли бы вы привести хороший пример, чтобы проиллюстрировать, как они могут быть полезны?

Спасибо

181
задан guanchor 17 September 2015 в 23:26
поделиться