0

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

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

我试图将实际语句打印到标准输出:

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 的某个地方。

4

1 回答 1

1

这不是一种说法。如果您想一次使用多个语句,请不要使用 a PreparedStatementbut 例如addBatch,但似乎在这里您应该简单地发出 2 个 JDBC 语句,一个接一个。

于 2013-06-15T16:48:09.943 回答