次の手順を使用して、この機能をエミュレートできます。
-
新しい一時テーブルを作成します。
CREATE TEMPORARY TABLE temporary_table LIKE target_table;
-
必要に応じて、一時テーブルからすべてのインデックスを削除して、処理を高速化します。
SHOW INDEX FROM temporary_table; DROP INDEX `PRIMARY` ON temporary_table; DROP INDEX `some_other_index` ON temporary_table;
-
CSVを一時テーブルにロードします
LOAD DATA INFILE 'your_file.csv' INTO TABLE temporary_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (field1, field2);
-
ON DUPLICATEKEYUPDATEを使用してデータをコピーします
SHOW COLUMNS FROM target_table; INSERT INTO target_table SELECT * FROM temporary_table ON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2);
-
一時テーブルを削除します
DROP TEMPORARY TABLE temporary_table;
SHOW INDEX FROM
の使用 およびSHOW COLUMNS FROM
このプロセスは、任意のテーブルに対して自動化できます。