小编典典

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

sql

我当前的方法是这样的:

SELECT TOP 1 ID FROM DATAENTRY ORDER BY ID DESC

假定最新插入的项始终具有最高的唯一ID(主键,自动递增)。这里有什么不对劲的地方。

备择方案?


阅读 216

收藏
2021-04-19

共1个答案

小编典典

如果JDBC驱动程序支持它,则也可以使用Statement#getGeneratedKeys()它。

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?
}
2021-04-19