我使用phpMyAdmin导出数据,但是当我导入数据时出现此错误:
#1452 - 无法添加或更新子行:外键约束失败
我可以相应地设置数据然后我没有得到错误。但是有更好的方法吗?比如在phpMyAdmin中禁用某些选项或向SQL添加一些查询?
答案 0 :(得分:26)
问题是pma并不关心插入行的顺序。所以它发生了一个表格行插入FK,其中尚未导入FK行。
要解决此问题,请在从PhpMyadmin导出时使用复选框Disable Foreign Key Checks
。或者自己设定:
SET FOREIGN_KEY_CHECKS=0;
最后:
SET FOREIGN_KEY_CHECKS=1;
答案 1 :(得分:0)
Cannot add or update a child row: a foreign key constraint fails
)
要在2个表之间添加引用,条件必须适合现有数据。
这意味着如果您说table1.id = table2.id
,那么table1
和table2
的所有ID都必须匹配。
要解决此问题,您必须消除或修复那些不匹配的行。
例如:
table1.id | table2.fk
1 | 1 ok
2 | null error
3 | 4 error if id 4 is not in table1