2010-07-21 14 views
17

मुझे कुछ शर्त के आधार पर लोड डेटा infile के साथ तालिका में मौजूदा पंक्तियों को अद्यतन करने की आवश्यकता है, क्या यह संभव है?mysql लोड डेटा infile जहां खंड

 
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 ; 

ट्रिगर बनाने के बाद, आप बिना कहां लोड डेटा infile चला सकते हैं। मुझे यकीन नहीं है कि आपकी विशिष्ट आवश्यक शर्त क्या है, लेकिन इसे BEGIN और END के अंदर करें।

संबंधित मुद्दे