2014-10-07 226 views
0

UPD:需求即將到來。合併兩個數據庫

我的朋友使用的是Mnemosine(http://mnemosyne-proj.org/),它是使用sqlite作爲db的python程序。移動版本只適用於一個數據庫文件,我的朋友已經有好幾個了。所以他問我是否可以合併兩個數據庫。

所以!我有兩個具有相同模式但不同數據的sqlite數據庫文件。

是否有自動的方式將數據從一個文件包含到另一個文件?我只需要將附加值插入到字典表中,並根據新的ID正確插入其他表中的值。

不幸的是沒有外鍵定義,所以我可能需要首先指定列/表關係。但總的來說,如果我解決關係問題,是否可以合併dbs?

回答

2

您可以打開要合併到的數據庫,然後attach the other database

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

謝謝,但這不是我正在尋找的東西。我正在更新我的問題 – 2014-10-08 07:56:14

+0

您應該能夠使用'sqlite3' shell打開數據庫並執行此操作。 – 2014-10-08 12:11:39

1

你可以試試這個:

sqlite3的bar.db」使用.dump T1

ATTACH DATABASE "foo.database" AS foo; 

然後,您可以通過使用數據庫的名稱和一個點前綴來訪問其它數據庫的表「| grep -v「^ CREATE」| sqlite3 foo.db

這會將表t1的內容從bar.db放入foo.db中的表t1中。

+0

謝謝你的回答。我將調查轉儲的可能性 – 2014-10-08 07:57:06