Estos pasos se pueden utilizar para emular esta funcionalidad:
-
Crea una nueva tabla temporal.
CREATE TEMPORARY TABLE temporary_table LIKE target_table;
-
Opcionalmente, elimine todos los índices de la tabla temporal para acelerar las cosas.
SHOW INDEX FROM temporary_table; DROP INDEX `PRIMARY` ON temporary_table; DROP INDEX `some_other_index` ON temporary_table;
-
Cargue el CSV en la tabla temporal
LOAD DATA INFILE 'your_file.csv' INTO TABLE temporary_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (field1, field2);
-
Copie los datos usando ON DUPLICATE KEY UPDATE
SHOW COLUMNS FROM target_table; INSERT INTO target_table SELECT * FROM temporary_table ON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2);
-
Eliminar la tabla temporal
DROP TEMPORARY TABLE temporary_table;
Usando SHOW INDEX FROM
y SHOW COLUMNS FROM
este proceso se puede automatizar para cualquier tabla determinada.