2010-07-21 3 views
17

Мне нужно обновить существующие строки в таблице с информацией о загруженности данных на основе некоторого состояния, возможно ли это?mysql load data infile where 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

В 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 ; 

После создания триггера вы можете запускать данные загрузки данных без WHERE. Я не уверен, каково ваше особое обязательное условие, но делайте это внутри BEGIN и END.