MySQL从CSV数据加载空值错误代码1582

时间:2016-08-18 01:53:21

标签: mysql csv null

我正在尝试使用此示例中的代码:

MySQL load NULL values from CSV data

我正在使用此代码(当我不使用最后三行时,该代码有效)

LOAD DATA LOCAL INFILE 'Myfiles/Products.csv'
INTO TABLE tblProducts
FIELDS TERMINATED BY ','
  ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(product_id, manufacturer, sku, pname, price, @vstock, @vcategory_id, lf_code)
Set 
stock = ifnull(@vstock = ''),
category_id = ifnull(@vcategory_id = '');

但是,我一直收到错误代码1582:"本机函数调用中的参数计数不正确' ifnull' "有人可以解释出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

您应该使用NULLIF(),而不是IFNULL()。它需要两个参数:在正常情况下返回的表达式,以及与其进行比较的其他内容,如果它们相等则返回NULL。你不要在它们之间写=

stock = nullif(@vstock, ''),
category_id = nullif(@vcategory_id, '');