Это, вероятно, тривиальный вопрос, но я все еще немного неуклюжий, когда дело доходит до ограничений внешнего ключа, поэтому я хотел убедиться.MySQL - внешний ключ при удалении set null in not null field
Скажем, у меня есть таблица countries
с полями country_id
(PK) и name
, и стол cities
с полями city_id
(PK), name
и country_id
(FK).
Внешний ключ cities.country_id
имеет ограничение ON DELETE SET NULL
. Как я понимаю, это означает, что если запись из countries
удалена, любые записи в cities
, что ссылка, что удаленная запись country_id
, будет иметь поле country_id
, установленное в NULL.
Что делать, если, однако, cities.country_id
имеет атрибут NOT NULL
? Не будет ли это препятствовать правильному функционированию внешнего ключа? Было бы разумно, что это так, но я просто хочу проверить.
Простой вопрос: вы сами пробовали? – Rachcha
Я пытаюсь, но обычно я просто задаю вопрос, потому что иногда требуется время, чтобы получить ответ. Кроме того, я прочитал несколько аналогичных вопросов, которые изначально не появлялись в предлагаемом списке, которые дают некоторое представление. – Bobe