これはあなたが望むことをします。 4番目のフィールドをローカル変数に読み込み、ローカル変数に空の文字列が含まれる場合は、実際のフィールド値を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,'')
;