从PHPMYADMIN导出和导入数据

时间:2012-07-13 10:33:29

标签: php mysql sql phpmyadmin

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

  

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

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

2 个答案:

答案 0 :(得分:26)

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

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

SET FOREIGN_KEY_CHECKS=0;

最后:

SET FOREIGN_KEY_CHECKS=1;

答案 1 :(得分:0)

MySQL FK Doc

中引用了该错误(Cannot add or update a child row: a foreign key constraint fails

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

这意味着如果您说table1.id = table2.id,那么table1table2的所有ID都必须匹配。

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

table1.id  |  table2.fk
   1       |       1      ok 
   2       |     null     error
   3       |       4      error if id 4 is not in table1