2010-07-21 27 views
17

Necesito actualizar las filas existentes en la tabla con load load infile basado en alguna condición, ¿es esto posible?mysql load data infile where clause

 
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 [email protected] 

Respuesta

0

En MySQL es posible crear activadores antes de la actualización. Así que en este caso mejor 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 gatillo, puede ejecutar archivo de entrada de datos de carga sin WHERE. No estoy seguro de cuál es su condición requerida específica, pero hágalo dentro de BEGIN y END.

Cuestiones relacionadas