Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur de syntaxe MySQL lors de l'exécution de la requête SQL

Vous devrez supprimer la query argument de votre executeQuery appel. Si vous fournissez le paramètre, la requête sera exécutée sans lier aucune valeur (voir Statement pour plus de détails) - c'est pourquoi la syntaxe (c'est-à-dire le ? ) n'est pas valide.

Exécutez la requête comme ceci :

ResultSet rst = st.executeQuery();

En remarque :vous devez toujours envelopper Connection , PreparedStatement et ResultSet avec un essayez-avec-des-ressources bloquer, par ex.

try (ResultSet rst = st.executeQuery()) {
    // read the results
}

De cette façon, vous pouvez être sûr que le ResultSet sera fermé quoi qu'il arrive.