データベース間でデータをマージしたい。そこで、mysqldump
を使用してダンプを作成し、それを別のデータベース(同じテーブル構造)にインポートします。この場合、問題はありません(エントリの重複など)。
しかし、私はテスト目的でいくつかのマージを行い、後で最終的なマージを行います。そこで、マージ(データが変更される可能性があります)を数回実行したいと思います。テーブルの行が削除されることはなく、挿入または更新のみが可能です。
ON DUPLICATEオプションでmysqldumpを作成できますか?または、新しいデータを挿入して変更されたデータを更新するダンプをマージできるのでしょうか?
確かに、私はON DUPLICATE
ダンプを手動で行いますが、マージプロセスを自動化したいと思います。
これに役立つオプションがあります:
--insert-ignore Insert rows with INSERT IGNORE.
--replace Use REPLACE INTO instead of INSERT INTO.
-t, --no-create-info
Don't write table creation info.
このパラダイムを覚えておいてください