sql >> Databasteknik >  >> RDS >> Mysql

JDBC returnerar MySQLSyntaxError Undantag med korrekt sats

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Du har ett fel i din SQL-syntax; kontrollera manualen som motsvarar din MySQL-serverversion för rätt syntax att använda nära '? , ? , DEFAULT , NULL )' på rad 1

Dessa platshållare ? bör inte visas på MySQL-sidan alls.

Titta här,

sInserim.executeUpdate(sqlCommandInserim);

du skickar den råa SQL-strängen till executeUpdate() istället för att köra PreparedStatement med de inställda värdena.

Ersätt den med

sInserim.executeUpdate();

executeUpdate(sqlString) ska användas på Statement bara.

Orelaterat till det konkreta problemet bör du stänga PreparedStatement i finally blockera för att förhindra resursläckage vid undantag. Detsamma gäller för Connection , Statement och ResultSet förresten.




  1. SQL Server Resumable Index:Är det bra för dig?

  2. Hur kan jag använda förberedda uttalanden i CodeIgniter

  3. Oracle Konvertera TIMESTAMP med tidszon till DATUM

  4. 3 sätt att konvertera HEX till INT i SQL Server (T-SQL)