所以我有一个 JDBC 调用来将数据插入数据库。
我希望能够将语句作为一个整体来查看(所以,你知道,“插入 some_table (colA, colB) 值 (1,2)”)。
但我也希望看到该声明的真实面目——也就是说,
insert into some_table (id, colA, colB) values (8,1,2)
其中 id 是主键(或任何其他 auto_increment 字段),其中 sql thingy 将确定自动递增的值!
这可能吗?
声明不变。如果您ID
的表中有一个自动递增键 ( ),它永远不会出现在语句中,而是在执行语句时由数据库引擎添加。
所以不可能看到带有 ID 列的语句,但是根据您的 DBMS,有不同的技术可以确定自动生成的值是什么。
IE。在 SQL Server 中,您可以使用SCOPE_IDENTITY()。在 Oracle 上,您可以使用RETURNING INTO。对于 Postgres,您可以查看Can I use return value of INSERT...RETURNING in another INSERT?