我的表中有一个主键自动增量属性。我想知道为使用statement.executeUpdate()插入的行分配给它的值。如何以最佳方式实现这一目标?
答案 0 :(得分:11)
使用Statement#getGeneratedKeys()
和Statement#executeUpdate(String, int)
(这是JDBC 3.0功能,您的数据库必须支持JDBC 3.0)。
这是一个示例,它返回一个ResultSet
,其中包含TABLE1中自动生成列的值:
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate("INSERT INTO TABLE1 (C11, C12) VALUES (1,1)", Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();