是否有一种跨数据库平台的方法来获取刚刚插入的记录的主键?

我注意到this answer表示您可以通过调用SELECT LAST_INSERT_ID()来获取它,我认为您可以调用SELECT @@IDENTITY AS 'Identity';是否有一种通用的方法来在jdbc中跨数据库进行此操作?

如果不是,您如何建议我为可以访问SQL Server,MySQL和Oracle中的任何代码的代码实现此功能?

最佳答案

从我的代码复制:

pInsertOid = connection.prepareStatement(INSERT_OID_SQL, Statement.RETURN_GENERATED_KEYS);

其中pInsertOid是准备好的语句。

然后,您可以获取 key :
// fill in the prepared statement and
pInsertOid.executeUpdate();
ResultSet rs = pInsertOid.getGeneratedKeys();
if (rs.next()) {
  int newId = rs.getInt(1);
  oid.setId(newId);
}

希望这为您提供一个良好的起点。

关于java - 插入行jdbc的主键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/201887/

10-13 06:28