gpt4 book ai didi

java - 无法在 JDBC 中获取插入的主键

转载 作者:行者123 更新时间:2023-12-02 09:37:10 24 4
gpt4 key购买 nike

我在我的项目中使用 Microsoft SQL Server,并使用 JDBC 作为连接器。我的项目在 Tomcat 服务器中运行。我想做的是获取新插入值的主键,而无需再编写一个 select 语句。

这是我的java代码:

                    PreparedStatement ps = conn.prepareStatement("INSERT INTO Users(FIRSTNAME,STATUS)VALUES " +
"(?,?)", Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "name");
ps.setInt(2, status);
int updatedRows = ps.executeUpdate();
if(updatedRows > 0){
ResultSet resultSet = ps.getGeneratedKeys();
if (resultSet.next()) {
// do some stuff with resultSet.getInt(1)
// but code does not enter here
}
}

但是代码不会进入内部 if 子句语句,正如我在评论中提到的。我也尝试过这个:

PreparedStatement ps = conn.prepareStatement("INSERT INTO Users(FIRSTNAME,STATUS)VALUES " +
"(?,?)", new String[]{"USERID"});

这里的USERID是Users表的主键名称。两种方法均无效。我该如何解决这个问题?

最佳答案

试试这个:

INSERT INTO Users(FIRSTNAME,STATUS) OUTPUT Inserted.ID VALUES (?,?)

关于java - 无法在 JDBC 中获取插入的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57407747/

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