我已经在类别表和新闻表之间创建了关系。我在新闻表中插入的 new_category 的 id 确实存在于表类别中,两列的字符类型相同,但我仍然收到以下问题:
2018-12-28 06:32:49 AM, Insert Query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
demo
.news
, CONSTRAINTfk_news
FOREIGN KEY (news_category
) REFERENCEScategories
(id
) ON DELETE SET NULL ON UPDATE CASCADE).
最佳答案
确保您没有将子表中的列声明为 NOT NULL。
这可能是由于以下原因之一造成的
- FOREIGN KEY 值在表中必须是唯一的。
- 整数类型的大小和符号必须相同。
- 子表中的外键值应在父表中具有匹配的候选键值。
- 父表和子表之间的正确级联
- 子表中的列为 NOT NULL。
引用:
https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html
关于mysql - 由于违反完整性约束而无法添加字段 : 1452 Cannot add or update a child row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53954133/