Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JDBC zwraca wyjątek MySQLSyntaxError z poprawną instrukcją

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:wystąpił błąd w składni SQL; sprawdź w instrukcji, która odpowiada Twojej wersji serwera MySQL, jaka jest właściwa składnia w pobliżu „? , ? , DEFAULT , NULL )' w wierszu 1

Te symbole zastępcze ? nie powinno w ogóle pojawiać się po stronie MySQL.

Spójrz tutaj,

sInserim.executeUpdate(sqlCommandInserim);

przekazujesz nieprzetworzony ciąg SQL do executeUpdate() zamiast wykonywania PreparedStatement z ustawionymi wartościami.

Zastąp go przez

sInserim.executeUpdate();

executeUpdate(sqlString) powinien być używany w Statement tylko.

Niezwiązane do konkretnego problemu, powinieneś zamykać PreparedStatement w finally blok, aby zapobiec wyciekowi zasobów w przypadku wyjątków. To samo dotyczy Connection , Statement i ResultSet przy okazji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uwzględnić nagłówki podczas korzystania z funkcji SELECT INTO OUTFILE?

  2. MySQL:najszybszy sposób liczenia wierszy

  3. Modelowanie wariantów produktów

  4. Co jest szybsze:wiele pojedynczych WSTAWEK czy jedna wielowierszowa WSTAWKA?

  5. Jak działa funkcja SUBSTR() w MySQL