加载数据infile错误:列的数据太短

时间:2013-12-17 21:36:43

标签: mysql sql csv load-data-infile

我有一个我需要在MySQL上传的CSV文件。表格desc是:

website         varchar(500)    
major_cat       varchar(500)   
sub_cat         varchar(500)  
ref             varchar(500)  
commision       varchar(10)  
additional_fee  varchar(5)   
shipping        varchar(5)

以下是CSV数据示例:

Amazon,All,All,AmazonAllAll,5%,10,12.36%   
Angoor,All,All,AngoorAllAll,5%,0,12.36%  
Big Basket,All,All,Big BasketAllAll,5%,0,12.36%  
Car Khana,All,All,Car KhanaAllAll,5%,0,12.36%

我尝试使用以下load data infile查询:

load data infile 'AAAAA Products.csv' 
into table products 
fields terminated by ',' 
lines terminated by '\n';

我收到以下错误

  

ERROR 1406(22001):第1行的“运费”栏数据太长了

请帮我解决这个问题。我陷入了困境。

1 个答案:

答案 0 :(得分:0)

这似乎是一个奇怪的猜测,但我注意到你在上面第一行的开头有一个空格。当不可见的字符位于该行的末尾时,有时会发生这种情况。

当我在Mac上并且在行尾有\ r \ n时,而不是预期的\ n,我会看到这个。

查看csv文件中的实际数据,而不仅仅是在您删除文件时看到的内容。例如,“od -c”将显示您是否在第一行末尾有非打印字符。