Próbuję sprawdzić, czy określona wartość już istnieje w mojej bazie danych. Mam dostęp do bazy danych z autonomicznej aplikacji java przy użyciu JDBC (kwerendy dotyczące wstawiania rekordów do db pracy, więc moja instalacja i połączenie są w porządku).Java MySQL sprawdza, czy wartość istnieje w bazie danych
String queryCheck = "SELECT * from messages WHERE msgid = " + msgid;
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(queryCheck); // execute the query, and get a java resultset
// if this ID already exists, we quit
if(rs.absolute(1)) {
conn.close();
return;
}
otrzymuję ten błąd (tam widocznie coś nie tak z moim składni SQL):
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'd-f05708071f8f' at line 1
Jednakże jeśli próbuję wykonać tego polecenia w moim wierszu poleceń MySQL, to działa! Czy możesz mi powiedzieć, co jest nie tak z moim oświadczeniem? Dzięki za wszelkie wskazówki!
Proszę, proszę, proszę, zawsze używaj zapytanie wiązania ... nie zawsze tylko ty Zapobiegaj atakom SQL injection, pomagasz także w bazie danych, ponieważ buforuje plan wykonania, co przyspiesza następne zapytanie. –