Недавно я перевел некоторые таблицы в новую базу данных. Я оставил внешние ключи этих таблиц, указывающие на таблицы в старой БД.MySQL: не удается добавить внешний ключ
Затем я создал новые версии ссылочных таблиц. Я пробовал сначала изменить FK так, чтобы они указывали на новые ссылки. Это не сработало, поэтому я уронил все старые FK и попытался создать новые. Первый этап прошел без сучка и задоринки. Вторая фаза все же потерпела неудачу с каждым столом, таким же образом! Ответом всегда нравится:
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`ml`.`#sql-d04_2`, CONSTRAINT `FK_excoeff_secID` FOREIGN KEY (`SecurityID`) REFERENCES `securities` (`SecurityID`))
Провал появляется сразу и, кажется, не связаны с фактическими данными. В сообщении об ошибке, как вы можете видеть, место, где обычно расположено имя таблицы, теперь заполнено странной строкой. И независимо от того, что является ссылочной таблицей, ошибка содержит ту же строку.
Все, что произошло в части «Alter table» MySQL WorkBench, но также и как обычный SQL-запрос.
Где я ошибся ???
Возможный дубликат http://stackoverflow.com/questions/21659691/error-1452-cannot-add-or-update-a-child-row-a-foreign-key-constraint-fails –
Нет , это не. Ключевыми отличиями являются 1) странная строка, в которой указано имя таблицы. Это должно означать что-то, и 2) это имя таблицы «_same_» для всех таблиц, которые я пытаюсь добавить к ним FK. 3) Все данные таблицы _was_ управляются эквивалентным внешним ключом. В данных нет конфликтов! – MeirG