2010-07-21 2 views
17

일부 조건에 따라 데이터로드가 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] 

답변

0

업데이트하기 전에 트리거를 만들 수 있습니다. 따라서이 경우에는 내가 사용하는 것이 좋습니다 :

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를 실행할 수 있습니다. 구체적인 요구 조건이 무엇인지 모르겠지만 BEGIN 및 END 내부에서 확인하십시오.