gpt4 book ai didi

MySQL 外键约束 - 无法添加或更新子行

转载 作者:搜寻专家 更新时间:2023-10-30 23:07:31 29 4
gpt4 key购买 nike

我正在从 SQL 转储导入数据库,但出现此错误:

Cannot add or update a child row: a foreign key constraint fails 
(`database_name`.`#sql-808_37`, CONSTRAINT `FK_z_log_zemail` FOREIGN KEY (`ID_evn`)
REFERENCES `z_event` (`ID_evn`) ON DELETE SET NULL)

Operation failed with exitcode 1"

我知道这意味着子表中的外键不在父表 z_event 中,因此出错。

问题:

  1. 导入 sql 转储的过程是否从此行中止? (操作失败,退出代码为 1)

  2. 是否有任何“干净”的方法可以在不损害数据完整性的情况下绕过此错误?或者任何其他不涉及删除约束的解决方案?

  3. 为什么会这样?表之间的一些不良关系设置?比如父表删除了东西,子表没有更新?

  4. sql 转储是否有损坏的可能?或者这个错误很常见?我想知道我是否应该担心..

最佳答案

答案:

  1. 这取决于您如何恢复数据库。如果您正在运行进行插入的脚本,它可能会跳过问题并继续,但如果您正在进行批量插入(使用 COPY),它将完全失败。

  2. 无法清洁旁路。

  3. 也许转储的顺序有误。所需的表格位于引用它的表格下方(或之后)。在您的情况下,您必须确保首先加载 z_event。

  4. 也许它已损坏,但根据我的经验,第三个是通常的解释。

关于MySQL 外键约束 - 无法添加或更新子行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24874021/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com