0

LOAD DATA INFILE 应该只填充具有特定内容的空值。

CSV:

值 1,值 2
--------------
1 123345
2        
3 678901

预期结果:

值 1,值 2
--------------
1 123345
2 k0000123345
3 678901

LOAD DATA INFILE .... SET .... ean = IFNULL(@d3, CONCAT('k0000',an))

...将导致仍然为空的数据库值。

4

1 回答 1

2

当您使用 LOAD DATA INFILE 时,输入文件中的空字段被视为空字符串(对于字符串类型)空字符串与null.

因此,对于您的输入,您的空字段将无法通过IFNULL()测试。检查字段中传入数据的长度,如果为零则连接:

LOAD DATA INFILE .... SET .... ean = IF(CHAR_LENGTH(@d3)>0,@d3,  CONCAT('k0000',an))
于 2014-04-22T09:20:05.960 回答