我有以下查询(实际上它更复杂,但为此目的只使用了一个基本的查询)
"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行
感谢。
答案 0 :(得分:-1)
事实证明,语法没有任何问题,它是一个查询中的多个语句,它并不喜欢。我单独实施它们并且有效。它不理想,但现在要做,直到我稍后创建一个准备好的声明。