mysql加载数据infile where子句

问题描述:

我需要根据某些条件更新带有加载数据infile的表中的现有行,这可能吗?mysql加载数据infile where子句

 
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] 

在MySQL中可以在更新之前创建触发器。所以在这种情况下,我建议使用:

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 ; 

创建触发器后,您可以运行加载数据infile而无需使用WHERE。 我不确定你的特定条件是什么,但是在BEGIN和END里面。