我正在尝试以下列方式将元组插入到 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 是一个 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();
结果相同。我确定我一定是在做一些愚蠢的事情,但我完全不知所措。我在执行插入之前打印了字符串,但找不到任何语法错误。任何帮助将不胜感激。