【问题标题】:Load data infile error : data too short for column加载数据文件错误:列的数据太短
【发布时间】:2013-12-17 21:36:42
【问题描述】:

我有一个 CSV 文件需要上传到 MySQL。表的描述是:

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';

我收到以下错误

错误 1406 (22001):第 1 行的“运输”列数据太长

请帮我解决这个问题。我被卡住了。

【问题讨论】:

    标签: mysql sql csv load-data-infile


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      相关资源
      最近更新 更多