Java 第1行没有';不包含所有列的数据MySQL JDBC Eclipse错误

Java 第1行没有';不包含所有列的数据MySQL JDBC Eclipse错误,java,mysql,jdbc,Java,Mysql,Jdbc,我试图使用eclipse中的java程序将.csv文件的内容插入到数据库表中。但是,我收到以下错误消息 Exception in thread "main" java.sql.SQLException: Row 1 doesn't contain data for all columns 我确实查看了类似的帖子,但无法找到代码的解决方案。你知道我如何解决这个问题吗 csv文件中的示例数据: t约束标题、标题类型、主标题、原始标题、isAdult、开始日期、结束日期、运行时分钟数 tt1,sho

我试图使用eclipse中的java程序将.csv文件的内容插入到数据库表中。但是,我收到以下错误消息

Exception in thread "main" java.sql.SQLException: Row 1 doesn't contain data for all columns
我确实查看了类似的帖子,但无法找到代码的解决方案。你知道我如何解决这个问题吗

csv文件中的示例数据: t约束标题、标题类型、主标题、原始标题、isAdult、开始日期、结束日期、运行时分钟数

tt1,short,Carmencita,Carmencita,0,1894,0000,1
tt2,short,Le clown et ses chiens,chiens,0,1892,0000,5
tt3,short,Pauvre Pierrot,Pauvre Pierrot,0,1892,0000,4
我的代码:
问题出在java代码中。您使用的是
\t
(选项卡)而不是

"   columns terminated by '\\t' \n" +
该行应为:

"   columns terminated by ',' \n" +
如果要通过
\t
分隔列,可以将csv文件数据更改为如下所示:

tt1 short   Carmencita  Carmencita  0   1894    0000    1
tt3 short   Pauvre_Pierrot  Pauvre_Pierrot  0   1892    0000    4
tt4 short   Pauvre_Pierrot  Pauvre_Pierrot  0   1892    0000    4

顺便说一句,csv意味着逗号分隔的值

问题出在java代码中。您使用的是
\t
(选项卡)而不是

"   columns terminated by '\\t' \n" +
该行应为:

"   columns terminated by ',' \n" +
如果要通过
\t
分隔列,可以将csv文件数据更改为如下所示:

tt1 short   Carmencita  Carmencita  0   1894    0000    1
tt3 short   Pauvre_Pierrot  Pauvre_Pierrot  0   1892    0000    4
tt4 short   Pauvre_Pierrot  Pauvre_Pierrot  0   1892    0000    4

顺便说一句,csv意思是逗号分隔值

正如错误消息所说,第1行不包含所有列的数据。您的数据库表可能有8列以上,或者第一行的数据可能较少。添加MySQL表结构不应该是以“,”结尾的
列吗,“
您有csv文件吗?正如错误消息所说,第1行不包含所有列的数据。您的数据库表可能有8列以上,或者第一行的数据可能较少。添加MySQL表结构不应该是以“,”结尾的
列吗?”
您有csv文件吗?谢谢。这删除了错误消息。但是,在更正后运行代码时,我收到以下错误消息。线程“main”com.mysql.jdbc.MysqlDataTruncation中出现异常:数据截断:第1行“startYear”列的日期值“1894”不正确。创建表时,我已将“starYear”声明为“DATE”。知道它为什么这么说吗?@user8929822,因为该值的格式与日期类型不匹配。还可以尝试添加月份和日期。作为一个例子,1894-1-1应该是一年,所以我想保持这样。无论如何,谢谢。我将为这个问题开辟一条新的思路。谢谢。这删除了错误消息。但是,在更正后运行代码时,我收到以下错误消息。线程“main”com.mysql.jdbc.MysqlDataTruncation中出现异常:数据截断:第1行“startYear”列的日期值“1894”不正确。创建表时,我已将“starYear”声明为“DATE”。知道它为什么这么说吗?@user8929822,因为该值的格式与日期类型不匹配。还可以尝试添加月份和日期。作为一个例子,1894-1-1应该是一年,所以我想保持这样。无论如何,谢谢。我将为这个问题开辟一条新思路。