我已在类别表和新闻表之间创建了关系。我正在新闻表中插入的新类别的id确实存在于表类别中,两列的字符类型相同,但我仍收到以下问题:
2018-12-28 06:32:49上午,插入查询:sqlstate[23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败( demo
. news
,约束 fk_news
外键( news_category
)参考文献 categories
( id
)在删除时,在更新级联时设置null)。
我已在类别表和新闻表之间创建了关系。我正在新闻表中插入的新类别的id确实存在于表类别中,两列的字符类型相同,但我仍收到以下问题:
2018-12-28 06:32:49上午,插入查询:sqlstate[23000]:完整性约束冲突:1452无法添加或更新子行:外键约束失败( demo
. news
,约束 fk_news
外键( news_category
)参考文献 categories
( id
)在删除时,在更新级联时设置null)。
1条答案
按热度按时间3mpgtkmj1#
确保没有将子表中的列声明为NOTNULL。
这可能是由于以下原因之一
外键值在表中必须是唯一的。
整数类型的大小和符号必须相同。
子表中的外键值在父表中应具有匹配的候选键值。
父表和子表之间的适当级联
子表中的列不为null。
参考文献:
https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html