Mysql 加载数据填充应使用特定内容填充空值
加载数据填充应仅使用特定内容填充空值 CSV: 价值1,价值2 -------------- 1 123345 2. 3 678901 预期结果: Value1, Value2 -------------- 1 123345 2 k0000123345 3 678901 价值1,价值2 -------------- 1 123345 2 K000012345 3 678901Mysql 加载数据填充应使用特定内容填充空值,mysql,concat,file-io,ifnull,Mysql,Concat,File Io,Ifnull,加载数据填充应仅使用特定内容填充空值 CSV: 价值1,价值2 -------------- 1 123345 2. 3 678901 预期结果: Value1, Value2 -------------- 1 123345 2 k0000123345 3 678901 价值1,价值2 -------------- 1 123345 2 K000012345 3 678901 加载数据填充。。。。设置ean
加载数据填充。。。。设置ean=IFNULL(@d3,CONCAT('k0000',an))
…将导致数据库值仍然为空。使用加载数据填充时,输入文件中的空字段将被视为空字符串(对于字符串类型),空字符串与
null
不同
因此,对于您的输入,空字段将无法通过IFNULL()
测试。检查字段中传入数据的长度,如果为零,则连接:
LOAD DATA INFILE .... SET .... ean = IF(CHAR_LENGTH(@d3)>0,@d3, CONCAT('k0000',an))
请发布一些示例数据,并说明此处的失败之处。几乎任何东西都可能是错的,或者是对的,mysql语句可以工作,但是当执行此操作时,ean是空的,而不是包含“K0000124”,如果csv有空值。
LOAD DATA INFILE .... SET .... ean = IF(CHAR_LENGTH(@d3)>0,@d3, CONCAT('k0000',an))