有这个问题需要设置的是一个自动增量整数,那我该如何指定
PreparedStatement stmt = conn.prepareStatement("INSERT INTO `"+OnlineUsers.table2+"` VALUES (?,?,?)");
//What I do here
stmt.setInt(2, currentonline);
stmt.setDate(3, new java.sql.Date(b.getTime()));
stmt.execute();
答案 0 :(得分:2)
最好明确指定列名:
"INSERT INTO `" + OnlineUsers.table2 + "` (col2, col3) VALUES (?,?)"
然后:
stmt.setInt(1, currentonline);
stmt.setDate(2, new java.sql.Date(b.getTime()));
这将使您的代码对数据库中更改的列的顺序具有鲁棒性。
注意:如果OnlineUsers.table2
来自不受信任的来源,则应验证此字符串,否则您可能会面临SQL注入攻击的风险。