To bude dělat, co chcete. Přečte čtvrté pole do lokální proměnné a poté nastaví skutečnou hodnotu pole na NULL, pokud místní proměnná skončí obsahující prázdný řetězec:
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,'')
;
Pokud jsou všechny možná prázdné, pak byste je všechny přečetli do proměnných a měli více příkazů SET, jako je tento:
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,'')
;