यह वही करेगा जो आप चाहते हैं। यह चौथे फ़ील्ड को स्थानीय चर में पढ़ता है, और फिर वास्तविक फ़ील्ड मान को NULL पर सेट करता है, यदि स्थानीय चर में एक खाली स्ट्रिंग होती है:
LOAD DATA INFILE '/tmp/testdata.txt'
INTO TABLE moo
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
(one, two, three, @vfour, five)
SET four = NULLIF(@vfour,'')
;
यदि वे सभी संभावित रूप से खाली हैं, तो आप उन सभी को वेरिएबल में पढ़ेंगे और आपके पास कई SET स्टेटमेंट होंगे, जैसे:
LOAD DATA INFILE '/tmp/testdata.txt'
INTO TABLE moo
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
(@vone, @vtwo, @vthree, @vfour, @vfive)
SET
one = NULLIF(@vone,''),
two = NULLIF(@vtwo,''),
three = NULLIF(@vthree,''),
four = NULLIF(@vfour,'')
;