当我尝试插入一些数据时收到以下错误消息:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
database/UserDetails
, CONSTRAINTUserDetails_ibfk_6
FOREIGN KEY (HearAboutID
) REFERENCESUserDetails
(HearAboutID
) ON DELETE CASCADE ON UPDATE CASCADE)
FK 关系如下所示:
我试图输入到 UserDetails.HearAboutID
中的数据存在于 UserHearAbout.UserHearAboutID
中...那么为什么它不会呢? :(
最佳答案
来自您发布的错误
FOREIGN KEY (HearAboutID) REFERENCES UserDetails (HearAboutID) ON DELETE CASCADE ON UPDATE CASCADE)
(你实际上创建了一个引用相同表和相同列的约束), 我猜你的 FK 约束定义是错误的(应该是
FOREIGN KEY (HearAboutID) REFERENCES UserHearAbout (UserHearAboutID)
ON DELETE CASCADE ON UPDATE CASCADE)
关于php - MySQL 无法使用 FK 约束进行 INSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399625/