SQLite db ファイルを異なるテーブルとマージする安価で高速な方法はありますか?
例えば:
a.db
テーブルしかないa
b.db
テーブルしかないb
- ...
これらを、すべてのテーブル、、、およびをabcd.db
含むにマージしたいと考えています。a
b
c
d
私が欲しいのはそのような魔法のスクリプトだと思います:
merge_script a.db b.db c.db d.db -o abcd.db
このヒントと別のヒント、およびすべてのレコードを「メイン」データベースに挿入する ATTACH トリックに気付きましたが、「メイン」データベースにテーブルがないときにこれを行うことはできますか?
アップデート
SQLIte データベース ファイルを単純なストレージ コンテナーとして使用します。
ほとんどの場合、各タイプのデータ (テーブル名によって異なります) を 1 つのファイルに格納してから、それらを「ターゲット」データベースにマージします。
ただし、同じテーブル名にする必要があるデータの種類がいくつかあります。使用sqlite3 .dump
すると、テーブル名に競合が発生します。
ただし、.dump
アプローチは非常に単純です。いくつかの回避策を実行して使用します。