合并两个数据库

时间:2014-10-07 12:54:05

标签: sql database sqlite

UPD:来自要求的地方。

我的朋友正在使用Mnemosine(http://mnemosyne-proj.org/),这是使用sqlite作为db的python程序。移动版仅适用于一个数据库文件的问题,我的朋友已经有几个。所以他问我是否可以合并两个数据库。

原来如此!我有两个具有相同模式但数据不同的sqlite db文件。

是否有自动方式将数据从一个文件包含到另一个文件?我只需要在字典表中插入其他值,并根据新ID正确插入其他表中的值。

不幸的是没有定义外键,所以我需要先指定列/表关系。但总的来说,如果我解决关系问题,是否可以合并dbs?

2 个答案:

答案 0 :(得分:2)

您可以打开要合并到的数据库,然后attach the other database

ATTACH DATABASE "foo.database" AS foo;

然后,您可以通过在数据库的名称和点前添加前缀来访问其他数据库的表:

INSERT INTO bar (baz) SELECT baz FROM foo.bar;

答案 1 :(得分:1)

你可以试试这个:

sqlite3 bar.db" .dump t1" | grep -v" ^ CREATE" | sqlite3 foo.db

这会将表t1的内容从bar.db放入foo.db中的表t1。