Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
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))
...将导致仍然为空的数据库值。
当您使用 LOAD DATA INFILE 时,输入文件中的空字段被视为空字符串(对于字符串类型)空字符串与null.
null
因此,对于您的输入,您的空字段将无法通过IFNULL()测试。检查字段中传入数据的长度,如果为零则连接:
IFNULL()
LOAD DATA INFILE .... SET .... ean = IF(CHAR_LENGTH(@d3)>0,@d3, CONCAT('k0000',an))