我试图从java插入mysql表中的记录,并不断收到错误消息

时间:2017-11-19 00:18:27

标签: java mysql

private static void insertData(Connection conn) throws SQLException {

      String insertsql = "INSERT INTO ng_users(username, password) VALUES (?,?)";
      PreparedStatement ps=(PreparedStatement) conn.prepareStatement(insertsql);

      for(int i = 0; i < temps.size(); i++)
      {
          String[] data= temps.get(i).trim().split(Pattern.quote("|"));
          ps.setString(1, data[0].toString());
          ps.setString(2, data[1].toString());
          ps.executeUpdate(insertsql);     
      }   
}

错误消息:“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'?,?附近使用正确的语法')'”

1 个答案:

答案 0 :(得分:1)

方法executeUpdate(String sql)继承自Statement并直接执行给定的SQL。

相反,你应该调用executeUpdate(),它将执行构造时给出的SQL(Connection#prepareStatement(String sql)),更重要的是,考虑通过setString(...)传递给它的参数。