gpt4 book ai didi

java - Postgresql,使用JDBC插入后获取生成的序列

转载 作者:行者123 更新时间:2023-11-29 12:13:00 26 4
gpt4 key购买 nike

我们有一个 java 数据库抽象,它为我们做了很多插入操作。在运行时,我们将知道表名、要插入的列名和值。我们从中生成准备好的语句并执行插入。

在 sql server 领域,我们会将 select id = @@identity 添加到生成的 sql 的末尾,以获取查询返回的新生成的 id。

现在我们正在迁移到 postgres,这不再有效。据我了解,在 postgres 中你可以这样做,

insert into foo(a, b) values('a', 'b') returning ID

我们的问题是在运行时我们不知道 ID 列的名称,也不知道序列的名称。有什么方法可以在不知道序列名称或列名称的情况下通用地获取新插入序列的值?

最佳答案

如果您的insert 没有触发进一步的插入,您可以在insert 语句之后立即使用SELECT LASTVAL();

关于java - Postgresql,使用JDBC插入后获取生成的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22208095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com