导出所有关系数据的工具?[关闭]


12

是否有一种工具可以从表中的选定行中导出数据,而所有数据都存储在通过关系设计链接的其他表中的其他表中?

目的是简化用于临时迁移的服务器之间的数据位迁移。我正在寻找具有定义的外键的MySQL InnoDB工具。


1
您是要导出关系本身还是相关数据?另外,哪个rdbms?
swasheck

@swasheck,对此表示抱歉,已为清楚起见更新了问题
James McMahon

2
编写了一个执行此操作的程序(针对SQL Server),我可以告诉您它不是出于胆小- 强烈建议使用3rd-party软件(如果有)执行此操作。
乔恩·塞格尔

...还请确保您有一种方法来协调已迁移的数据,以确保一切都正确迁移。
FrustratedWithFormsDesigner 2013年

2
狱卒声称能够做到这一点:sourceforge.net/projects/jailer(虽然我还没有使用过)
a_horse_with_no_name 2013年

Answers:


9

实际上,您可以使用mysqldump自己编写脚本。

这里用我的帖子--where选项mysqldump

对表和一些SQL弯头润滑脂进行了很好的检查后,您可以使用相应的外键引用为任何表及其子记录编写转储脚本。

试试看 !!!


最终,我结束了编写一些自定义逻辑来对对象进行序列化和反序列化的工作。我认为自定义脚本可能是要走的路。
James McMahon

0

除非所有表都定义了必要的FOREIGN KEY约束,否则在MySQL中几乎不可能做到这一点(考虑到MyISAM不支持它们,根本无法保证)。

如果所有DID表都具有FK,那仍然是一项艰巨的任务,我不知道会导出子集的工具。

我知道Navicat将尝试对关系进行逆向工程,但是我认为它不会转储一部分数据。


首先,我正在使用具有定义的关系约束的InnoDB
James McMahon 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.