我正在尝试将外键添加到现有表中,并且遇到了问题。我想我的语法有错误,所以我将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`))
有人能想到这会失败的原因吗?
答案 0 :(得分:3)
此错误表示无法应用约束,因为存在违反该约束的现有记录。
在您的情况下,pbi
表的行FK_idP
列的值与idP
表的p
列中没有匹配记录的值。