是否有一种跨数据库平台的方法来获取刚刚插入的记录的主键?
我注意到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/