【问题标题】:Jooq save or update method returns an errorJooq 保存或更新方法返回错误
【发布时间】:2022-01-10 13:59:58
【问题描述】:

我正在尝试使用 jooq 和具有唯一约束“phone_number_key”的表来实现保存或更新方法
我的代码:

var insertStep = dslContext.insertInto(Users.USERS)
        .set(Users.USERS.FIRSTNAME, user.getFirstname())
        .set(Users.USERS.PHONENUMBER, user.getPhoneNumber())
        .onConflict()
        .doUpdate()
        .set(Users.USERS.FIRSTNAME, user.getFirstname())
        .returningResult(Users.USERS.ID);
var record = insertStep.fetchOne();

但我遇到了异常

错误:重复键值违反唯一约束 "phone_number_key" 详细信息:密钥 ("phoneNumber")=(+999999999) 已存在。

“.onDuplicateKeyUpdate()”方法出现同样的错误
我使用 postgres 数据库
我做错了什么?

【问题讨论】:

  • 可以发一下表定义吗(CREATE TABLE ...)

标签: java jooq


【解决方案1】:

使用它

.onConflict(Users.USERS.PHONENUMBER)
.doUpdate()
.set(Users.USERS.FIRSTNAME, user.getFirstname())

【讨论】:

    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2021-09-15
    • 2016-11-29
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    相关资源
    最近更新 更多