SQL查询在mySQL中工作但在Java

时间:2017-06-19 18:39:07

标签: java mysql

我有以下查询(实际上它更复杂,但为此目的只使用了一个基本的查询)

 "DECLARE @x1 FLOAT; SET @x1 = 8; Select @x1" 

直接与mySQL数据库一起工作,但是当我在java中使用它时就像这样:

String sqlFormula = "DECLARE @x1 FLOAT; SET @x1 = 8; Select @x1";

我发送此查询的方式与我做其他正常工作的方式相同,但这给了我SQL语法错误。 java是否需要以不同格式的变量声明?

错误是:

  

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你有一个   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,用于在'DECLARE @ x1附近使用正确的语法   浮动; SET @ x1 = 8;选择@ x1'在第1行

因为它指的是整条线,所以它并没有真正帮助。

将Begin和End添加到字符串中:

String sqlFormula = "BEGIN DECLARE @x1 FLOAT; SET @x1 = 8; Select @x1 END";

在执行此操作时,Begin位很好,但似乎将END添加到语句中。错误报告语法错误:

  

' DECLARE @ x1 FLOAT; SET @ x1 = 8;选择@ x1 END'在第1行

感谢。

1 个答案:

答案 0 :(得分:-1)

事实证明,语法没有任何问题,它是一个查询中的多个语句,它并不喜欢。我单独实施它们并且有效。它不理想,但现在要做,直到我稍后创建一个准备好的声明。