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

JDBC renvoyant l'exception MySQLSyntaxError avec l'instruction correcte

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException :Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la bonne syntaxe à utiliser près de '? , ? , DEFAULT , NULL )' à la ligne 1

Ces espaces réservés ? ne devrait pas du tout apparaître du côté MySQL.

Regardez ici,

sInserim.executeUpdate(sqlCommandInserim);

vous passez la chaîne SQL brute dans executeUpdate() au lieu d'exécuter le PreparedStatement avec les valeurs définies.

Remplacez-le par

sInserim.executeUpdate();

Le executeUpdate(sqlString) doit être utilisé sur Statement uniquement.

Non lié au problème concret, vous devriez fermer le PreparedStatement dans le finally bloquer pour éviter les fuites de ressources en cas d'exceptions. Il en va de même pour Connection , Statement et ResultSet au fait.