sql >> Databasteknik >  >> RDS >> Mysql

MySQL-syntaxfel när SQL-frågan körs

Du måste ta bort frågan argument från din executeQuery ringa upp. Om du anger parametern kommer frågan att köras utan att binda några värden (se Uttalande för detaljer) - det är därför syntaxen (dvs. ? ) är ogiltig.

Kör frågan så här:

ResultSet rst = st.executeQuery();

Som en sidoanteckning:du bör alltid omsluta Anslutning , PreparedStatement och Resultatuppsättning med en prova-med-resurser block, t.ex.

try (ResultSet rst = st.executeQuery()) {
    // read the results
}

På så sätt kan du vara säker på att ResultSet kommer att stängas oavsett vad som händer.




  1. Hur man lägger till en månad till ett datum i SQLite

  2. MySQL välj gå med var OCH var

  3. Hur man ställer in värdet på det sammansatta variabelfältet med hjälp av dynamisk SQL

  4. Hur infogar man en uppdateringsbar post med JSON-kolumn i PostgreSQL med JOOQ?