2010-07-21 35 views
17

Tôi cần cập nhật các hàng hiện có trong bảng với tải dữ liệu infile dựa trên một số điều kiện, điều này có thể?mysql tải dữ liệu infile nơi khoản

 
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] 

Trả lời

0

Trong MySQL, bạn có thể tạo trình kích hoạt trước khi cập nhật. Vì vậy, trong trường hợp này, tôi đề xuất sử dụng:

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 ; 

Sau khi tạo trình kích hoạt, bạn có thể chạy tải dữ liệu không có WHERE. Tôi không chắc chắn điều kiện yêu cầu cụ thể của bạn là gì, nhưng hãy làm điều đó bên trong BEGIN và END.

Các vấn đề liên quan