with used txt the not into infile ejemplo data allowed acentos mysql load-data-infile

mysql - used - load data local infile into table



mysql cargar datos infile donde la cláusula (2)

Necesito actualizar las filas existentes en la tabla con el archivo de datos de carga basado en alguna condición, ¿es esto posible?

load data infile ''E:/xxx.csv'' into table tld_tod @aaa, @xxx_date, @ccc fields terminated by '','' LINES TERMINATED BY ''/r/n'' set xxx = str_to_date(@xxx_date, ''%d-%b-%y'') where xxx is not null and aaa=@aaa


En MySQL es posible crear disparadores antes de actualizar. Así que en este caso sugiero utilizar:

delimiter // CREATE TRIGGER upd_check BEFORE UPDATE ON table FOR EACH ROW BEGIN IF NEW.xxx IS NOT NULL THEN SET NEW.xxx = 0; END IF; END;// delimiter ;

Después de crear el activador, puede ejecutar el archivo de datos de carga sin DÓNDE. No estoy seguro de cuál es su condición específica requerida, pero hágalo dentro de BEGIN y END.


También puede crear una tabla de etapas, insertar los datos del archivo CSV en la tabla de etapas y, finalmente, insertar los datos en su tabla de destino con las operaciones y el filtrado necesarios.

CREATE TEMPORARY TABLE staging LIKE tld_tod; LOAD DATA INFILE ''E:/xxx.csv'' INTO TABLE staging FIELDS TERMINATED BY '','' LINES TERMINATED BY ''/r/n''; INSERT INTO tld_tod SELECT STR_TO_DATE(col_date, ''%d-%b-%y'') AS date WHERE col_date IS NOT NULL;