String myquery="INSERT INTO likestatus values(?,?)";
PreparedStatement st1=con.prepareStatement(myquery);
st1.setString(1,Integer.toString(rid));
st1.setString(2, id);
st1.executeUpdate(myquery);
我得到的错误是
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 您的SQL语法有错误; 检查对应的手册 您的MySQL服务器版本 正确的语法在'?,?)'附近使用 第1行
答案 0 :(得分:0)
您似乎需要指定为以下内容提供值的具体列名称:
INSERT INTO likestatus (column1, column2) values (?, ?)
答案 1 :(得分:0)
在您的代码中:
st1.setString(2, id);
ID的类型是string
?您需要确保使用与setXXX
对应的datatype
方法。
答案 2 :(得分:0)
在最后一行中,您再次绕过预准备语句功能传入sql字符串。只需将最后一行更改为:
st1.executeUpdate();
PreparedStatement扩展了Statement所以executeUpdate(String)仍然可用,但你没有正常使用它,因为对象知道有sql,你使用executeUpdate()代替。