SQL(Java,h2):检索刚插入数据库的单个项目ID最好的方法是什么?
技术问答
209 人阅读
|
0 人回复
|
2023-09-14
|
我目前的方法是这样的:7 R- v9 Q6 v' `7 D' L+ X
SELECT TOP 1 ID FROM DATAENTRY ORDER BY ID DESC假设最新插入的项目总是最高的ID(主键,自动增加)。这里有什么问题。
( k* d0 [7 P/ x; v7 o备择方案?
0 J, L; O) k/ V! r- Z
) V/ m- C. N6 u/ D& g 解决方案:
3 |+ _) f: E, I. _! t 如果JDBC如果驱动程序支持它,它也可以使用Statement#getGeneratedKeys()它。9 w) }9 x, U8 ^0 n7 o
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?} |
|
|
|
|
|