使用"LOAD DATA LOCAL INFILE".在Java中 [英] Using "LOAD DATA LOCAL INFILE" in Java

查看:600
本文介绍了使用"LOAD DATA LOCAL INFILE".在Java中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个cvs文件,其架构是,每个字段都用包围,并用分隔,每个元组都是\ n的换行符

I have a cvs file which schema is, every field is surrounded with ", and seperated by , and every tuple is a newline with \n

所以在我的Java文件中,我写了

So in my Java file, I wrote

                String path = "o.csv";
                String esquel = " LOAD DATA LOCAL INFILE " + path +
                            " INTO TABLE recommendations " +
                            " FIELDS TERMINATED BY \',\' ENCLOSED BY \'\"'" +
                            " LINES TERMINATED BY \'\\n\'";

然后使用以下语句执行该语句

And I execute the statement with the following statement

statement.executeUpdate(esquel);

但是它抛出一个SQLException:

But it throws an SQLException which says:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您有一个 您的SQL语法错误;检查与您的手册相对应的手册 MySQL服务器版本,可在'o.csv INTO附近使用正确的语法 表建议字段以,",",行"结尾 在第1行

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'o.csv INTO TABLE recommendations FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES' at line 1

我的错误是什么?

如果您能帮助我,我将不胜感激.

I would be appreciate if you can help me.

谢谢

推荐答案

哦,我明白了!我没有用'.

Oh I got it ! I didn't surround my path file with '.

新的sql语句应为:

String esquel = " LOAD DATA LOCAL INFILE '" + path +
                            "' INTO TABLE recommendations " +
                            " FIELDS TERMINATED BY \',\' ENCLOSED BY \'\"'" +
                            " LINES TERMINATED BY \'\\n\'";

这篇关于使用"LOAD DATA LOCAL INFILE".在Java中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆