当外键没有要引用的值时插入行

问题描述

我正在尝试建立一个论坛网站并设计评论数据库架构。这就是我写的问题是当我发表评论时,出现此错误
(1452,“无法添加或更新子行:外键约束失败(redditcomments,CONSTRAINT comments_ibfk_2外部键(parentID)参考{{1} }(comments在更新级联上删除级联)') 我了解为什么会收到此错误,但不确定如何解决。我想解决这个问题,如果可能的话,不创建新的回复表。是否有一种方法可以添加注释(不是答复),并且其parentID设置为零或其他值以表明它不是答复?

commentID

解决方法

MySQL支持可为空的外键,我认为这是此处的相关选项。

因此,只需使parent_idnull可用,即从该列的定义中删除not null选项(或更改为NULL-这是默认设置缺少该选项时的值)。

然后,您可以在插入(或传递NULL值)时忽略此列,以表示没有父注释。