执行insert语句后,如何获取id值存在的语句?

时间:2013-03-10 21:16:35

标签: java sql jdbc

所以我有一个JDBC调用将数据插入数据库。

我希望能够整体查看该语句(因此,您知道,“插入some_table(colA,colB)值(1,2)”)。

但我喜欢将该声明视为真正的是什么 - 也就是说,

insert into some_table (id, colA, colB) values (8,1,2)

其中id是主键(或任何其他auto_increment字段),其中sql thingy将确定自动递增的值!

这可能吗?

1 个答案:

答案 0 :(得分:3)

声明没有改变。如果表中有自动增量键(ID),它永远不会出现在语句中,而是在执行语句时由DB引擎添加。

因此不可能看到带有ID列的语句,但是根据您的DBMS,有不同的技术来确定自动生成的值是什么。

IE中。在SQL Server中,您可以使用SCOPE_IDENTITY()。在Oracle上,您可以使用RETURNING INTO。对于Postgres,您可以查看Can I use return value of INSERT...RETURNING in another INSERT?