Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于MySQL,是否有工具可以从一个表中转储一组行,并从所有相关表中转储所有相关(通过外键)行?_Mysql_Mysqldump - Fatal编程技术网

对于MySQL,是否有工具可以从一个表中转储一组行,并从所有相关表中转储所有相关(通过外键)行?

对于MySQL,是否有工具可以从一个表中转储一组行,并从所有相关表中转储所有相关(通过外键)行?,mysql,mysqldump,Mysql,Mysqldump,我正在使用MySQL数据库 我想从一个表中转储一组行,如果这些行具有指向其他一些表上的行的外键,我也想转储这些外键 然后,我想将这些转储加载到不同数据库上各自的表中(例如,使用loaddatainfle命令)。因此,仅仅使用select…join…into outfile是不够的,因为结果将是一个大的连接表 例如,表A的B_id和C_id列分别指向表B和C上的行。因此,当我转储表A中的3行时,B中的3个相关行和C中的3个相关行也被转储 是否存在这样的工具/脚本 编写一个脚本来实现这一点是非常可行

我正在使用MySQL数据库

我想从一个表中转储一组行,如果这些行具有指向其他一些表上的行的外键,我也想转储这些外键

然后,我想将这些转储加载到不同数据库上各自的表中(例如,使用loaddatainfle命令)。因此,仅仅使用
select…join…into outfile
是不够的,因为结果将是一个大的连接表

例如,表A的B_id和C_id列分别指向表B和C上的行。因此,当我转储表A中的3行时,B中的3个相关行和C中的3个相关行也被转储

是否存在这样的工具/脚本

编写一个脚本来实现这一点是非常可行的,但如果已经存在这样的工具,我不想重新发明轮子。

我的建议:

  • 为导出创建临时表,例如A_导出、B_导出、C_导出等
  • 用要导出的行填充这些新表。使用支持表B、C、。。。到一个_的出口,使它更容易
  • 使用mysqldump转储这些表
  • 将生成的转储文件导入目标数据库
  • 重命名目标数据库中的表,删除“\u export”后缀