Queremos mostrarte la mejor información que hemos encontrado por todo internet. Deseamos que te sea útil y si deseas comentarnos algún detalle que nos pueda ayudar a mejorar hazlo con libertad.
Solución:
Estos pasos se pueden utilizar para emular esta funcionalidad:
1) Crear una nueva tabla temporal.
CREATE TEMPORARY TABLE temporary_table LIKE target_table;
2) 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;
3) 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);
4) 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);
5) Eliminar la tabla temporal
DROP TEMPORARY TABLE temporary_table;
Utilizando SHOW INDEX FROM
y SHOW COLUMNS FROM
este proceso se puede automatizar para cualquier tabla dada.
podemos reemplazar primero (dos pasos) con la siguiente consulta única en el procedimiento compartido por (Jan).
1) y 2) podemos crear una nueva tabla con la misma estructura de referencia y sin índices.
CREAR TABLA TEMPORAL tabla_temporal SELECCIONAR * DESDE tabla_objetivo DONDE 1=0;
En lugar de..
1) Crear una nueva tabla temporal.
CREAR TABLA TEMPORAL tabla_temporal COMO target_table;
2) Opcionalmente, elimine todos los índices de la tabla temporal para acelerar las cosas.
MOSTRAR ÍNDICE DE tabla_temporal; ÍNDICE DE GOTA PRIMARY
EN tabla_temporal; ÍNDICE DE GOTA some_other_index
EN tabla_temporal;
valoraciones y reseñas
Si crees que te ha sido provechoso este artículo, sería de mucha ayuda si lo compartes con más programadores y nos ayudes a extender nuestro contenido.