DBAtlas · Атлас эксплуатации баз данных

1451: Не удаётся удалить или обновить родительскую строку: нарушено ограничение внешнего ключа

MySQL

Что это значит?

Вы попытались удалить родительскую строку или изменить её ключ, но ограничение внешнего ключа этого не допускает, поскольку существуют зависимые дочерние строки.

Почему возникает?

У родительской строки, на которую есть ссылки, ещё есть дочерние строки, а ограничение использует RESTRICT/NO ACTION для ON DELETE/UPDATE.

Как исправить

Сначала удалите зависимые дочерние строки или перенесите их к другому родителю, затем удалите родительскую строку. Если нужно автоматическое поведение, переопределите ограничение с ON DELETE CASCADE или ON DELETE SET NULL. Поиск зависимых строк: SELECT * FROM child_table WHERE fk_column = value.

Открыть в DBAtlas →

Ещё по этой СУБД