4

我正在使用 MySQL 数据库。

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

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

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

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

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

4

1 回答 1

0

我的建议:

  1. 为导出创建临时表,例如 A_export、B_export、C_export 等。
  2. 使用要导出的行填充这些新表。使用从支持表 B、C、... 到 A_export 的连接查询使其更容易。
  3. 使用 mysqldump 转储这些表
  4. 将生成的转储文件导入目标数据库
  5. 重命名目标数据库中的表,删除“_export”后缀
于 2014-06-17T07:28:54.387 回答