Не могу создать внешний ключ - PullRequest
0 голосов
/ 09 сентября 2009

Я пытаюсь добавить внешний ключ в существующую таблицу, и у меня возникли проблемы. Я понял, что в моем синтаксисе произошла ошибка, поэтому я обновил свой файл hibernate.cfg.xml до автоматического обновления.

Как выяснилось, в hibernate была та же ошибка. Вот мой SQL для добавления внешнего ключа:

alter table pbi add index FKEA3F7BDE9BAB051 (FK_idP), add constraint FKEA3F7BDE9BAB051 foreign key (FK_idP) references p (idP)

и ошибка:

Cannot add or update a child row: a foreign key constraint fails (`db`.`#sql-6f8_3`, CONSTRAINT `FKEA3F7BDE9BAB051` FOREIGN KEY (`fk_idP`) REFERENCES `p` (`idP`))

Может кто-нибудь придумать причину, по которой это не получится?

1 Ответ

3 голосов
/ 09 сентября 2009

Эта ошибка означает, что ограничение не может быть применено, поскольку существуют существующие записи, которые нарушают его.

В вашем случае в таблице pbi есть строки, у столбца FK_idP которых есть значение, для которого нет соответствующих записей с этим значением в столбце idP таблицы p.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...