データベースに特定の値が既に存在するかどうかを確認しようとしています。JDBCを使用してJavaスタンドアロンアプリからデータベースにアクセスしています(レコードをdbに挿入するためのクエリが機能するため、セットアップと接続は問題ありません)。
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;
}
次のエラーが表示されます (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
ただし、MySQL コマンド ラインでこのコマンドを実行しようとすると、うまくいきます。私の発言の何が問題なのか教えてもらえますか? ヒントをありがとう!