
SQLite 3データベースからMySQLデータベースに何らかの増分インポート操作を続ける必要があります。列名は両方のデータベースで同じです。スクリプトを介してこれを行うための良い方法はありますか? (実際に使用できるように、行の列の値を一種の配列/リストにインポートする良い方法はありますか?)またはSmallを使用する方が良いでしょうか? Cプログラム?
アップデート:いいですね。 1行に1つの列値を提供する-lineオプションがあり、結果行は空行に分かれています。まだそれを解析する非常に簡単な方法を見つける必要があります;-)
答え1
#!/bin/bash
sqlite test.db "select * from tablename" > /tmp/dump.sql
mysql -uroot -ppassword databasename <<EOF
load data infile '/tmp/dump.sql'
into table tablename
fields terminated by '|'
escaped by '\\\'
lines terminated by '\n';
EOF
答え2
私はアダプタを使ってPHPでこれを書いて、私たちがしたことはインポートされたもの(または失敗したもの)を示すためにsys_parsedフラグを作成することでした。デフォルトでは機能しないインポートを試みないように追跡します。
何千ものsqliteファイルを解析して、顧客ごとに1つのテーブルを持つ単一のmysqlデータベースにインポートします。しかし、確かに15号線ではありません。信頼できる輸入品が必要な場合は、もっとやるべきことがあります。性能もかなり良く、負荷もそれほど重くはありません。
興味があれば、一度見て共有できるかどうかを確認できます(クライアント用に書かれています)。