'query'累积查询,其中一个是INSERT INTO root:
public StringBuffer query = new StringBuffer("");
private String tmp="";
tmp="INSERT INTO `root` (`root_`) VALUES ('";
tmp=tmp.concat(root);
tmp=tmp.concat("');");
query.append(tmp);
PreparedStatement ps = con.prepareStatement(query.toString());
ps.executeUpdate();
query.delete(0, query.length());
我第一次这样做是正常编译的。
System.out.println(查询);显示这个:
INSERT INTO `root` (`root_`) VALUES ('value1');
但是第二次“查询”包含:
INSERT INTO `rel_root_doc` (`freq`,`id_doc`, `id_root`) VALUES (1,1,1);
INSERT INTO `root` (`root_`) VALUES ('value2');
我遇到了这个错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解使用 close 的正确语法。
'INSERT INTO `root` (`root_`) VALUES ('value2')' at line 2
但是如果我在 MySQLWorkbench 中复制并粘贴相同的代码,它就可以完美工作。
感谢您的阅读。
最佳答案
一条语句
只能包含一个SQL查询。每个查询都需要一个Statement
(或PreparedStatement
)。
关于mysql - 使用 java eclipse 出现 MySQL 语法的罕见错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17007227/