我使用 PreparedStatement 将一些值插入到数据库中,但似乎在这种情况下我无法检索最后一个插入 ID。
我尝试使用与 Statements 相同的语句(如下),但它不起作用。它说, .executeQuery() 在这种情况下不能接受参数。
事实上,我并不完全需要最后一个插入 id,受影响的行数就可以了,但我怎么得到呢?我认为 PreparedStatement 的 .executeUpdate() 方法会返回受影响的行数,但显然它没有。
这是方法。
public static int getLastInsertId(Statement stmt) throws SQLException {
String sql = "SELECT SCOPE_IDENTITY() AS id";
ResultSet rs = stmt.executeQuery(sql);
int id = 0;
while (rs.next()) {
id = rs.getInt("id");
}
return id;
}
先感谢您。