gpt4 book ai didi

java - 如何使用 preparedstatement 获取最后插入的行的 id?

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:05 24 4
gpt4 key购买 nike

<分区>

我正在使用以下代码向数据库中插入一个新行,我需要获取最后插入的行的 ID 但是当我运行代码时它显示以下消息:

SEVERE: java.sql.SQLException: Generated keys not requested. You need to specify   
Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate() or
Connection.prepareStatement().

当我使用下面的代码时,尽管我选择了 executeUpdate(String sql),它也会报错

  ps.executeUpdate(ps.RETURN_GENERATED_KEYS);
error >> no suitable method found for executeUpdate(int)

表格如下:

       credential 
int ID primary key, auto increment
varchar(10) name

我的代码

String Insert_Credential = "Insert into credential values("
+ "?,?)";
ps = con.prepareStatement(Insert_Credential);
ps.setInt(1, 0);
ps.setString(2, "username");
ps.executeUpdate();
ResultSet generatedKeys = ps.getGeneratedKeys();
if (generatedKeys.next()) {
System.out.println("id is"+generatedKeys.getLong(1));
return generatedKeys.getInt(1);
} else {
throw new SQLException("Creating user failed, no generated key obtained.");
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com