无法创建外键

时间:2009-09-09 17:28:59

标签: java sql mysql hibernate

我正在尝试将外键添加到现有表中,并且遇到了问题。我想我的语法有错误,所以我将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 个答案:

答案 0 :(得分:3)

此错误表示无法应用约束,因为存在违反该约束的现有记录。

在您的情况下,pbi表的行FK_idP列的值与idP表的p列中没有匹配记录的值。