8

我使用 phpMyAdmin 导出数据,但是当我导入数据时出现此错误:

#1452 - 无法添加或更新子行:外键约束失败

我可以相应地设置数据,然后我没有收到错误。但是有没有更好的方法来做到这一点?比如禁用 phpMyAdmin 中的某些选项或向 SQL 添加一些查询?

4

2 回答 2

26

问题是 pma 不关心插入行的顺序。所以它发生了一个表行插入了一个 FK,其中 FK 行尚未导入。

要解决此问题,请Disable Foreign Key Checks在从 PhpMyadmin 导出时使用该复选框。或者自己设置:

SET FOREIGN_KEY_CHECKS=0;

最后:

SET FOREIGN_KEY_CHECKS=1;
于 2012-07-13T10:41:48.983 回答
0

MySQL FK DocCannot add or update a child row: a foreign key constraint fails中引用了该错误 ( )

要在 2 个表之间添加引用,条件必须适合现有数据。

这意味着如果你说then的table1.id = table2.id所有 id必须匹配在一起。table1table2

要解决这个问题,您必须消除或修复那些不匹配的行。
例子:

table1.id  |  table2.fk
   1       |       1      ok 
   2       |     null     error
   3       |       4      error if id 4 is not in table1
于 2012-07-13T10:34:52.470 回答