从PHPMYADMIN导出和导入数据

从PHPMYADMIN导出和导入数据,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,我使用phpMyAdmin导出了数据,但在导入数据时出现以下错误: #1452-无法添加或更新子行:外键约束失败 我可以相应地设置数据,这样就不会出现错误。但是有没有更好的方法呢?类似于禁用phpMyAdmin中的某些选项或向SQL添加某些查询?该错误(无法添加或更新子行:外键约束失败)在 要在两个表之间添加引用,条件必须适合现有数据 这意味着如果你说table1.id=table2.id,那么table1和table2的所有id必须匹配在一起 要解决这个问题,您必须消除或修复那些不匹配的行 例

我使用phpMyAdmin导出了数据,但在导入数据时出现以下错误:

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

我可以相应地设置数据,这样就不会出现错误。但是有没有更好的方法呢?类似于禁用phpMyAdmin中的某些选项或向SQL添加某些查询?

该错误(
无法添加或更新子行:外键约束失败)在

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

这意味着如果你说
table1.id=table2.id
,那么
table1
table2
的所有id必须匹配在一起

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


问题是pma不关心插入行的顺序。因此,在尚未导入FK行的情况下,插入带有FK的表行

要解决此问题,请在从PhpMyadmin导出时使用复选框
禁用外键检查
。或者自己设置:

SET FOREIGN_KEY_CHECKS=0;
最后:

SET FOREIGN_KEY_CHECKS=1;

PMA过去一直都在做类似的事情,但最近它变得更好了(以我的经验)。基本上,导出文件中某些操作的顺序是错误的。我会在导出和导入服务器上更新PMA,然后重试,您可能会发现它消失。当您选中“将导出包含在事务中”、“禁用外键检查”和“扩展插入”时,您是否可以尝试它是否有效?错误的解释很好,但结果是错误的。。。它只是pma在生成sql文件时不关心表的顺序。
SET FOREIGN_KEY_CHECKS=1;