2011-01-05 6 views
4

Je cours quelques simples instructions MYSQL à partir d'une application Java. Je reçois une erreur de syntaxe sur une instruction qui semble fonctionner correctement si je l'exécute directement sur le serveur MYSQL via Navicat. La déclaration qui me donne sans tracas est:Erreur de syntaxe MYSQL en utilisant LIMIT en Java

@NamedQuery(name = "Image.findDefaultByTest", query = "SELECT i FROM Image i where (i.test_id = :test) LIMIT 0,1")

L'erreur que je reçois est:

Syntax error parsing the query [Image.findDefaultByTest: SELECT i FROM Image i where (i.test_id = :test) LIMIT 0,1], line 1, column 48: syntax error at [LIMIT].

Juste pour donner un exemple d'une déclaration sur la ligne ci-dessus qui fonctionne:

@NamedQuery(name = "Image.findByLocation", query = "SELECT i FROM Image i WHERE i.location = :location")

Toute aide sur cette question serait beaucoup appr eciated, la seule information que je puisse trouver à ce sujet via Google semble être de 2003!

+0

modifier '(i.test_id =: test) limite 0,1' à 'i.test_id =: limite de test 0,1'? – ajreal

+0

C'est ce que c'était à l'origine et cela n'a pas fonctionné non plus, j'ai pensé que j'essaierais de le coller entre crochets au cas où il ferait quelque chose de bizarre avec: test et LIMIT. – chvck

Répondre