2016-05-24 6 views
1

in Java ausgeführt Ich habe die folgende Anweisung, die eine SQL-Variable erfordert:SQL-Anweisung, die eine @variable verwendet schlägt fehl, wenn

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

Aus irgendeinem Grund fein es funktioniert, wenn ich es auf MySQL Workbench ausführen aber es funktioniert nicht, wenn Ich führe es innerhalb von Java aus. Ich bekomme org.springframework.jdbc.BadSqlGrammarException.

Jede Hilfe wird geschätzt.

+0

Können Sie uns die entsprechende Java-Code zeigen? Haben Sie auch eine Möglichkeit, uns die Ausgabe der tatsächlichen Abfrage zu zeigen, die ausgeführt wird? Was du machst, ist vielleicht nicht das, was du denkst. –

Antwort

0

Benutzen Sie für Tabellennamen oder Spaltennamen sie wie diese unterstreichen haben ‚my_table‘

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