我正在使用Jooq的insertinto()
和onDuplicateKeyUpdate()
方法将一些数据添加到Postgres表中。以后我想知道我的数据中有多少重复项,因此如果插入或更新了一行,就需要返回。
根据我到目前为止对postgres的具体研究,我发现返回(不是my_table.xmax=0)作为更新
是一个有效的选项。但是,从jOOQ中自动生成的Java表类似乎不能让我访问像Xmax这样的postgres的系统列。
dsl.insertInto(MY_TABLE)
.columns(
// pkey columns
MY_TABLE.SHIFT,
MY_TABLE.DATE_UTC,
MY_TABLE.TIME_UTC,
MY_TABLE.DURATION,
)
.values(
shiftId,
utcDateId,
utcTime,
duration
)
.onDuplicateKeyUpdate()
.set(MY_TABLE.DURATION, newDuration)
.returning((MY_TABLE.xmax = 0).`às`("inserted"))
.execute()
我已经重新检查了Maven jOOQ表生成配置,并且不排除任何列。我也在Jooq自己的网站上阅读了所有我能找到的东西,但没有找到这个特定用例的有用信息。
我在这里能做什么有什么建议吗?
在这种情况下,您应该使用Jooq的SQL模板。具体来看dsl.field()
方法。类似如下:字段(“my_table.xmax”,int.class).eq(0)
。
当更新其中一个表中的字段时,我很难制定一个jooq查询来返回两个表中的数据。(Postgres 9.6,jooq 3.11) 表DEVICE和CUSTOMER在外键约束设备上联接。CUSTOMERID=CUSTOMER.ID。 我想返回一个合格的device.id和设备客户的customer.secret,并更新device.stateIN_PROGRESS。资格由各种条款评估。 我开始用 这导致
但现在我也需要知道: 插入了多少行 由于现有而更新了多少行 由于约束无法插入多少行 如果最后一行没有遵守约束,那么以前插入/更新的行是否会保留在数据库中?
我升级到了mavericks,在安装/编译新的gems时遇到了一些麻烦,所以我重新安装了xcode,并进行了brew更新和升级。Gems现在可以工作了,甚至postgres也继续工作了一段时间,直到最近重新启动。现在波斯特格雷斯似乎有问题。
我有一个带有jsonb列的PostgreSQL表,其中包含一个字符串数组,这些字符串是标记值,如下所示:。我有一个自定义绑定,用于将JSON与jackson JSONode进行转换。 自定义绑定定义如下:https://gist.github.com/helgeg/0C0B14228F75E91B7542BD6979A05B49 用基本的find读取记录,然后我提取JSON列,如下所示: 这是使用
Kubernetes到目前为止基本保持三个月发行一个新版本的节奏,更新节奏可以说非常快,这一部分将主要跟踪kubernetes及其相关组件的更新与升级。
问题内容: 我试图在扭曲的python中结合这两个查询: 和: 进入单个查询。有可能这样做吗? 我尝试将SELECT放在子查询中,但我不认为整个查询都会返回我想要的内容。 有没有办法做到这一点?(甚至更好,没有子查询)还是只需要坚持两个查询? 谢谢, 泉 问题答案: 您不能直接合并这些查询。但是您可以编写一个存储过程来执行两个查询。例: