Java MySQL vérifier si une valeur existe dans la base de données

Je suis en train de vérifier si une valeur existe déjà dans ma base de données. Je suis accédant à la base de données à partir de java application autonome à l'aide de JDBC (requêtes pour l'insertion d'enregistrements dans la db de travail donc mon installation et de connexion sont ok).

String queryCheck = "SELECT * from messages WHERE msgid = " + msgid;
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(queryCheck); //execute the query, and get a java resultset

//if this ID already exists, we quit
if(rs.absolute(1)) {
     conn.close();
     return;
}

J'obtiens cette erreur (il n'y a apparemment quelque chose de mal avec ma syntaxe SQL):

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'd-f05708071f8f' at line 1

Cependant, si j'essaie d'exécuter cette commande dans mon MySQL en ligne de commande, ça marche!!! Pouvez-vous me dire, quoi de mal avec ma déclaration? Merci pour les conseils!

S'il vous plaît, veuillez, s'il vous plaît, utilisez TOUJOURS la liaison de requête... TOUJOURS non seulement vous éviter les attaques par injection SQL, vous aidez également à la base de données met en cache le plan d'exécution de décisions de la prochaine requête plus rapide.

OriginalL'auteur Smajl | 2013-04-19