MySQL 外键约束违规:错误 1452
当尝试在两个表之间建立外键约束时,您可能会遇到错误“ Mysql 错误 1452 - 无法添加或更新子行:外键约束失败。”此错误表明引用表和引用表之间存在不一致。
检查两个表的 CREATE TABLE 语句会发现以下内容:
尝试从以下位置添加外键约束时,会特别发生该错误sourcecodes_tags 到源代码。
要解决此错误,很可能sourcecodes_tags 表包含源代码表中不再存在的 sourcecode_id 值。
要识别这些不一致的值,请执行以下查询:
SELECT DISTINCT sourcecode_id FROM sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id WHERE sc.id IS NULL;
此查询将返回 sourcecode_id 值的列表来自与源代码中任何有效条目不对应的 sourcecodes_tags。通过从sourcecodes_tags中删除这些不一致的值,就可以成功建立外键约束。
以上是MySQL 错误 1452:如何解决违反外键约束的问题?的详细内容。更多信息请关注PHP中文网其他相关文章!