问题描述
我正在尝试建立一个论坛网站并设计评论数据库架构。这就是我写的问题是当我发表评论时,出现此错误。
(1452,“无法添加或更新子行:外键约束失败(reddit
。comments
,CONSTRAINT comments_ibfk_2
外部键(parentID
)参考{{1} }(comments
在更新级联上删除级联)')
我了解为什么会收到此错误,但不确定如何解决。我想解决这个问题,如果可能的话,不创建新的回复表。是否有一种方法可以添加注释(不是答复),并且其parentID设置为零或其他值以表明它不是答复?
commentID
解决方法
MySQL支持可为空的外键,我认为这是此处的相关选项。
因此,只需使parent_id
列null
可用,即从该列的定义中删除not null
选项(或更改为NULL
-这是默认设置缺少该选项时的值)。
然后,您可以在插入(或传递NULL
值)时忽略此列,以表示没有父注释。