次の方法でmySQLデータベースにタプルを挿入しようとしています。
String insertString = "INSERT INTO listings(Seller, Title, Close_Time, Price, Condition)"
+ " VALUES('"+par.getSellerName()+"', '"+par.getItemName()+"', "
+closetime+", "+par.getPrice()+", '"+par.getCondition()+"')";
pst = con.prepareStatement(insertString);
pst.executeUpdate();
ResultSet rs = pst.getGeneratedKeys();
しかし、SQL構文エラーが発生し続けます。不思議なことに、Conditionを省略しても問題ありません。リストテーブルでは、Conditionはvarchar(45)であり、par.getCondition()は文字列の長さ<45を返します。
私はこれも次のように試しました:
pst = con.prepareStatement(
"INSERT INTO listings(Seller, Title, Close_Time, Price, Condition)"
+ "VALUES(?,?,?,?,?)", Statement.RETURN_GENERATED_KEYS);
pst.setString(1, par.getSellerName());
pst.setString(2, par.getItemName());
long closeTime = getTimeMills(par.getTimeOver());
pst.setLong(3, closeTime);
pst.setDouble(4, par.getPrice());
pst.setString(5, par.getCondition());
pst = con.prepareStatement(insertString);
pst.executeUpdate();
ResultSet rs = pst.getGeneratedKeys();
同じ結果になります。私は愚かなことをしているに違いないと確信していますが、私は完全に途方に暮れています。挿入が実行される前に文字列を印刷しましたが、構文エラーを見つけることができません。どんな助けでも大歓迎です。