邮政 9 |JDK 7.45 |不规则"No results were returned by the query"



从昨天开始,这件事让我白白傻了(谷歌搜索了很多,但没有找到任何其他有相同问题的开发人员)。我正在将使用 postgresql 7 的 java (jdk5) 编写的应用程序服务器升级到使用 postgresql 9 的 jdk7。

简单而荒谬的问题:

在同一语句中插入和选择:

insert into table(a,b) values('a','b') ; select currval('table_pkey_id')

没什么特别的,看起来简单明了......但是使用PostgreSQL-9.3-1100.jdbc3.jar不能工作更多,在主题中抛出错误。

SQL 语句像往常一样使用 PGadmin,返回插入行的 ID。但是使用 javam 和 pg9/java7 进行相同的查询,它会抛出错误,就像我在简单的插入语句上使用 executeQuery 一样。

stmt=cnn.createStatement(rst.TYPE_SCROLL_INSENSITIVE,rst.CONCUR_READ_ONLY);
stmt.executeQuery(sql);

org.postgresql.util.PSQLException:查询未返回任何结果。

为什么是上帝?!我想要并且需要解决此问题,而不会破坏上面的 2 个 sql 语句。在executeQuery实现中似乎是一个非常愚蠢的错误。

请反馈。谢谢。

.max

我认为您最好更改为:

insert into table(a,b) values('a','b') RETURNING id;

现在,所有受支持的 PostgreSQL 版本都支持 RETURNING。

相关内容

最新更新