MySql错误1261:第1行不包含所有列的数据

时间:2014-02-08 13:46:52

标签: mysql csv

我正在尝试将数据加载到数据库中。我唯一的问题是我得到一个错误1261.我之前得到了一个不正确的日期时间值错误但我用下面的加载数据infile中的代码解决了这个问题(设置date_time =)。我现在的问题是它说我没有足够的数据用于所有列。我知道你应该在表的名称之后命名列,但我似乎无法让它工作。

有一个表,它有15列。第一列是主键,另外14列是常规列。

这是加载文件声明:

load data infile 'c:/proj/test.csv' into table base (@var1,event,failure,ue,mc,mn,cell,durat,cause,ne,ims,hier,hier3,hier32)  
 set date_time = STR_TO_DATE(@var1, '%Y%m%d %H%i%s') 
;

附加说明:pk列称为dataId,是一个INT 这是自动增量。

以下是来自csv文件的数据:

2013-03-20 14:55:22,4098,1,21060800,344,930,4,1000,0,11B,344930000000011,4809532081614990000,8226896360947470000,1150444940909480000 

2 个答案:

答案 0 :(得分:0)

试试这个

load data infile 'c:/proj/test.csv' into table base (@var1,event,failure,ue,mc,mn,cell,durat,cause,ne,ims,hier,hier3,hier32)  
 set date_time = STR_TO_DATE(@var1, '%Y%m%d %H%i%s') 
character set latin1
fields terminated by '\t' enclosed by '' escaped by '\\'
lines terminated by '\n' starting by ''
ignore 1 lines;

查看here

答案 1 :(得分:0)

我也遇到了类似的问题。

错误消息是:

load data infile 'L:/new_ncbi' into table ncbi
fields terminated by '\t'
lines terminated by '\r\n'  1973 row(s) affected, 3 warning(s):
1261 Row 1629 doesn't contain data for all columns
1261 Row 1630 doesn't contain data for all columns
1261 Row 1630 doesn't contain data for all columns
Records: 1973  Deleted: 0  Skipped: 0  Warnings: 3  0.281 sec

所以我回来看看我加载的数据。 我在文件的第1639-1630行找到了这个问题:

Sphingomonas phage PAU  NC_019521   "Sphingomonas paucimobilis
                   "    species
是的,如你所见。 这两条线想成为一条线,但事实并非如此。

顺便说一句,我声明我的数据是由excel文件存储的。 当我需要处理我的数据时,我将我的数据从excel文件传输到普通文件。

excel文件中的一行数据将是两行,因为此行包含空格字符CRLF或其他字符。

所以我建议您可以将数据从csv复制到普通文件,并检查是否有类似的问题。

也许我的英语不好,但我仍然希望能提供帮助。