2 つの異なる MySQL サーバーに 2 つのテーブルがあります。と である一意のキーがinvoice
ありdate
ます。
特定の期間のすべてのレコードを取得して、別のテーブルに配置する必要があります。注意点は、既に存在するレコードがある可能性があるため、バックフィルするレコードからそれらを除外したいということです。
これを達成するために最も役立つクエリ、アイデア、スクリプトなどは何ですか?
レコード (またはフィールドの組み合わせ) を一意に識別する一意のキーをフィールドに配置する場合、MySQL ステートメントとして INSERT IGNORE INTO を使用できます。これによりレコードが挿入されますが、キーの競合が発生した場合 (そのレコードが既に存在する場合など)、単純に次のレコードに進みます。
INSERT INTO の代わりに REPLACE INTO を使用することもできます。これは INSERT IGNORE INTO に似ていますが、次のレコードに進むのではなく、競合する行を上書きします。
マージ構文を見てください