特定の値が既にデータベースに存在するかどうかを確認しようとしています。私はJDBCを使用してJavaスタンドアロンアプリケーションからデータベースにアクセスしています(レコードをdbワークに挿入するためのクエリで、セットアップと接続が正常です)。Java MySQLがデータベースに値が存在するかどうかを調べる
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構文と間違って何かが明らかに存在している)、このエラーを取得しています:私は私のMySQLのコマンドラインで次のコマンドを実行しようとした場合
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
しかし、それは動作します!あなたは私の声明に間違っていることを教えてくれますか?あらゆるヒントありがとう!
してください、、、常にだけでなく、常に...あなたを結合クエリを使用してくださいしてくださいSQLインジェクション攻撃を防ぐために、実行計画をキャッシュするときにデータベースを助けて、次のクエリを高速化します。 –