我有以下语句需要SQL变量:

SELECT @i := 53; UPDATE my_table SET index = (SELECT @i := @i + 1), status = 0 WHERE id = '12345' ORDER BY seqindex ASC;


由于某种原因,当我在MySQL的工作台上执行它时,它工作正常,但是当我在Java中执行它时,它却失败了。我得到org.springframework.jdbc.BadSqlGrammarException。

任何帮助将不胜感激。

最佳答案

使用单引号将表名或列名加下划线,例如“ my_table”

  SELECT @i := 53; UPDATE 'my_table' SET index = (SELECT @i := @i + 1),
 status = 0 WHERE id = '12345' ORDER BY seqindex ASC;

关于java - 在Java中执行时,使用@variable的SQL语句失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37404325/

10-13 09:20
查看更多