5

LOAD DATA INFILE を使用する場合、通常の INSERT ステートメントの ON DUPLICATE KEY UPDATE と同じ機能を取得する方法はありますか?

私がやりたいことは、ファイルの各行に対して、行が存在しない場合は新しい行が挿入され、そうでない場合は選択されたフィールドが更新されることです。

私のテーブルには、A、B、C、D、E の 5 つの列があります。A が主キーです。場合によっては、すべての値を含む新しい行を挿入する必要がありますが、たとえば、B と C のみを更新する必要がある場合もあります。しかし、要点は、すべての INSERT または UPDATE を同じファイルに再グループ化したいということです。

ありがとう

4

1 に答える 1

2

一部のフィールドを挿入/更新する場合は、追加のテーブルにデータをロードしてから、INSERT、UPDATE、または INSERT...SELECT+ON DUPLICATE KEY UPDATE ステートメントを使用してデータをコピー/変更する必要があります。それ以外の場合、他のフィールドは NULL に設定されます。

この場合、LOAD DATA INFILE の REPLACE オプションは役に立ちません。


また、 dbForge Studio for MySQL (無料の高速版) でデータ インポートツール (CSV 形式) を使用できます。追加/更新インポート モードを選択し、データ インポート ウィザードでフィールド マッピングを指定するだけです。

于 2012-06-21T14:16:42.463 に答える