[英]Can not get inserted primary key at JDBC
我在項目中使用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 (?,?)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.