这将做您想要的。它将第四个字段读入局部变量,然后如果该局部变量最终包含空字符串,则将实际字段值设置为NULL:
LOAD DATA INFILE '/tmp/testdata.txt'INTO TABLE mooFIELDS TERMINATED BY ","LINES TERMINATED BY "n"(one, two, three, @vfour, five)SET four = NULLIF(@vfour,'');
如果它们都可能为空,则将它们全部读入变量并具有多个SET语句,如下所示:
LOAD DATA INFILE '/tmp/testdata.txt'INTO TABLE mooFIELDS TERMINATED BY ","LINES TERMINATED BY "n"(@vone, @vtwo, @vthree, @vfour, @vfive)SETone = NULLIF(@vone,''),two = NULLIF(@vtwo,''),three = NULLIF(@vthree,''),four = NULLIF(@vfour,'');



