Java Can';不能创建外键
我试图向现有表添加外键,但遇到问题。我想我的语法有一个错误,所以我将hibernate.cfg.xml文件更新为自动更新 事实证明,hibernate也有同样的错误。下面是我添加外键的SQL:Java Can';不能创建外键,java,sql,mysql,hibernate,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
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`))
有人能想出失败的原因吗?此错误意味着无法应用约束,因为存在违反约束的现有记录
在您的情况下,
pbi
表中有一些行的FK_idP
列的值与p
表的idP
列中的值不匹配。此错误意味着无法应用约束,因为存在违反该约束的现有记录
在您的例子中,
pbi
表中的行的FK_idP
列中有一个值,但在p
表的idP
列中没有与该值匹配的记录。是的,就是这样。我必须删除addcolumn查询中的notnull子句来添加外键(或者在添加键之前进行迁移),是的,就是这样。我必须删除addcolumn查询中的notnull子句才能添加外键(或者在添加键之前进行迁移)