ここには2つのシナリオがあります:
-
テーブルの列はcsv列と完全に一致します。その場合、
REPLACE
答えです-これはLOAD DATA INFILE
のキーワードです ドキュメントエントリ を参照してください -
テーブルの列がcsv列と一致しません:REPLACEを使用すると競合が発生します 削除および再挿入されるレコード。追加のデータを効果的に削除します。その場合、
LOAD DATA INFILE
はそれ自体では効果的ではありません。前にファイルをフィルタリングするか、phpまたはその他の方法で更新を行うという別のアプローチが必要です。
いずれにせよ、インポートプロセスに「ロジック」を追加したい場合は、LOAD DATA INFIlE
これは実際には正しいアプローチではありませんが、一時テーブルを使用することは、データベースが提供するすべての優れた点から恩恵を受ける可能性があります。