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

SQLException:metoda executeQuery nie może być użyta do aktualizacji

Ponieważ wstawiasz rekord, powinieneś używać executeUpdate() nie executeQuery() .

Oto kilka metod, które są zwykle niewłaściwie używane:

wykonanie logiczne()

Zestaw wyników executeQuery()

int executeUpdate()

Jeszcze jedno, twoje zapytanie jest słabe, ponieważ jest podatne na SQL Injection . Proszę sparametryzować za pomocą PreparedStatement .

Przykładowy fragment kodu:

String insertNewUserSQL = "INSERT INTO " + studentsTable + " VALUES (?, ?, ?, ?, ?, ?, ?)";
PreparedStatement pstmt = con.prepareStatement(insertNewUserSQL);
pstmt.setString(1, userName);
// ... repeat this step until the last parameter ....
pstmt.setString(7, email);
pstmt.executeUpdate();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie MySQL do ElasticSearch

  2. Różnica w wymaganym czasie na wstawienie rekordów InnoDB/MyISAM

  3. czy mogę zresetować pole auto_increment w mySql?

  4. Jak uzyskać liczbę całkowitą z MySQL jako liczbę całkowitą w PHP?

  5. docker-compose mysql init sql nie jest wykonywany