【发布时间】:2014-01-10 09:20:59
【问题描述】:
问题是通过 JDBC 使用 PostgreSQL:
- 开始事务(隐式)
- 插入一行
- 选择涉及您刚刚插入的行
- 其他
- 提交
并且似乎选择的结果不考虑插入。
实际需要是在第一次插入时,我在表中插入当前时间戳(我想使用 db,而不是时间服务器的日期时间!!)并且我需要在另一个插入中使用该值在同一事务的另一个表中。
【问题讨论】:
-
选择肯定会“考虑”在同一事务中所做的更改。请向我们展示一些可重现代码来证明您的问题。
-
这真的很基本:创建一个preparedstatement并使用时间戳进行插入,然后在提交之前从table1执行一个平面选择列,结果集的命令next()将引发错误......在提交之前表中没有行......
-
有必须是你没有告诉我们的事情。您所描述的是最基本的事务处理,它肯定可以在 Postgres 中以这种方式工作。请发布完整的 Java 代码。
-
对不起,你是对的,实际上是参数设置中的错误(经常发生的愚蠢错误)...谢谢
标签: java postgresql jdbc transactions