sql >> Databáze >  >> RDS >> Mysql

JDBC vrací výjimku MySQLSyntaxError se správným příkazem

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Máte chybu v syntaxi SQL; podívejte se do manuálu, který odpovídá verzi vašeho serveru MySQL, kde najdete správnou syntaxi poblíž '? , ? , DEFAULT , NULL )' na řádku 1

Tyto zástupné symboly ? by se na straně MySQL neměl vůbec objevit.

Podívejte se sem,

sInserim.executeUpdate(sqlCommandInserim);

předáváte nezpracovaný řetězec SQL do executeUpdate() místo provádění PreparedStatement s nastavenými hodnotami.

Nahraďte jej za

sInserim.executeUpdate();

executeUpdate(sqlString) by měl být použit v Statement pouze.

Nesouvisí ke konkrétnímu problému byste měli zavřít PreparedStatement v finally blokovat, aby se zabránilo úniku zdrojů v případě výjimek. Totéž platí pro Connection , Statement a ResultSet mimochodem.




  1. Top 30 nejužitečnějších souběžných manažerských dotazů

  2. Nelze vydat příkazy pro manipulaci s daty pomocí funkce executeQuery()

  3. Skryté vlastnosti PostgreSQL

  4. Mysql:Objednat podle like?