我在将数据插入数据库时遇到问题,
无法添加或更新子行:外键约束失败(forum-design
。topics
,CONSTRAINT topics_ibfk_1
FOREIGN KEY(category_id
)参考categories
(cat_id
))
答案 0 :(得分:0)
外键关系涉及包含中心数据值的父表,以及具有指向其父级的相同值的子表。 FOREIGN KEY子句在子表中指定。
如果父表中没有匹配的候选键值,它将拒绝任何尝试在子表中创建外键值的INSERT或UPDATE操作。
我认为你的问题是:
1)您在category_id上有一个主键 - 并且您的insert语句没有category_id的值
2)你有一个自引用外键,引用的是referencerer_id,引用了category_id。插入带有referrer_id且非空的记录时。
为了更好地理解,请按照this。
答案 1 :(得分:0)
这是因为您的父表"类别"没有您尝试在子表中引用的类别ID"论坛设计"。
确保父表具有您需要在子表中引用的记录。
例如: 表类别有两条记录如下。
cat_id | cat_name
-----------------
1 | catName1
2 | catName2
并插入数据或更新"论坛设计" table如果你写了一个在categories.cat_id中不存在的值,它会导致你所面临的错误。
如果查看上表,在这种情况下,除了1和2之外,使用其他所有值都会导致错误。