Java + MySQL - 语法错误但声明正确

时间:2013-06-15 16:44:05

标签: java mysql jdbc insert

我的程序执行INSERT查询。当我运行它时,我收到错误

  

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在'INSERT INTO字(lang1,lang2,category,lang2_code,user)附近使用SELECT'ahoj','hell'在第1行附近使用正确的语法

我尝试将实际语句打印到stdout:

SET @lang:='Angličtina', @categ:='Nová';
INSERT INTO words(lang1, lang2, category, lang2_code, user)
SELECT 'ahoj', 'hello', c.id, l.id, 1 FROM categories c, languages l
WHERE c.name = @categ AND l.name = @lang;

如您所见,语句在日志中被更改。 'hell'代替'hello'。当我将它复制到mysql命令行并执行时,它运行得很好所以我认为问题出在JDBC的某个地方。

1 个答案:

答案 0 :(得分:1)

这不是一个声明。如果要一次使用多个语句,请不要使用PreparedStatement,例如addBatch,但在这里,您应该只发出2个JDBC语句,一个接着一个。< / p>