Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL java获取分配给自动递增主键的值_Java_Sql_Jdbc - Fatal编程技术网

SQL java获取分配给自动递增主键的值

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 (

我的表中有一个主键自动递增属性。我想知道为使用语句.executeUpdate()插入的行分配的值。如何以最佳方式实现这一点?

使用and(这是JDBC 3.0的一项功能,您的数据库必须支持JDBC 3.0)

下面的示例返回一个
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)检索列?是的。我还是有个例外。我在这里发布了一个新问题。