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里面。