SQL(Java,h2):检索我刚刚插入数据库的单个项目的唯一 ID 的最佳方法是什么? [复制]

2024-03-25

我目前的方法是这样的:

SELECT TOP 1 ID FROM DATAENTRY ORDER BY ID DESC

这假设最新插入的项目始终具有最高的唯一 ID(主键,自动增量)。这里有些不对劲。

备择方案?


如果 JDBC 驱动程序支持,也可以直接使用Statement#getGeneratedKeys() http://java.sun.com/javase/6/docs/api/java/sql/Statement.html#getGeneratedKeys%28%29为了那个原因。

String sql = "INSERT INTO tbl (col) VALUES (?)";
preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, col);
preparedStatement.executeUpdate();
generatedKeys = preparedStatement.getGeneratedKeys();
if (generatedKeys.next()) {
    long id = generatedKeys.getLong(1);
} else {
    // Throw exception?
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL(Java,h2):检索我刚刚插入数据库的单个项目的唯一 ID 的最佳方法是什么? [复制] 的相关文章

随机推荐