SQL java获取分配给自动递增主键的值
我的表中有一个主键自动递增属性。我想知道为使用语句.executeUpdate()插入的行分配的值。如何以最佳方式实现这一点?使用and(这是JDBC 3.0的一项功能,您的数据库必须支持JDBC 3.0) 下面的示例返回一个SQL java获取分配给自动递增主键的值,java,sql,jdbc,Java,Sql,Jdbc,我的表中有一个主键自动递增属性。我想知道为使用语句.executeUpdate()插入的行分配的值。如何以最佳方式实现这一点?使用and(这是JDBC 3.0的一项功能,您的数据库必须支持JDBC 3.0) 下面的示例返回一个ResultSet,其中包含表1中自动生成的列的值: Statement stmt = conn.createStatement(); int rows = stmt.executeUpdate("INSERT INTO TABLE1 (C11, C12) VALUES (
ResultSet
,其中包含表1中自动生成的列的值:
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate("INSERT INTO TABLE1 (C11, C12) VALUES (1,1)", Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();
什么数据库?您可以对Oracle/DB2(可能还有Postgres)使用RETURNING子句;MySQL的最后\u插入\u ID@SQL Server的SCOPE_IDENTITY…@OMGPonies:JDBC抽象了数据库实现此功能的方式(当数据库支持时)。当我调用rs.getInt(“id”)时,我收到一个错误,说找不到列id;原因可能是什么?相关的东西。但即使这样也不能解决问题我的列的数据类型为int(11)。我正在使用mysql@iamrohitbanga您是否尝试通过索引
rs.getInt(1)检索列代码>?是的。我还是有个例外。我在这里发布了一个新问题。