在mysql中插入语句

时间:2011-04-03 08:37:41

标签: mysql jdbc

        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行

3 个答案:

答案 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()代替。