我正在尝试使用 jooq 使用 batchStore 插入记录。我需要知道我们如何更新唯一约束的记录,目前它正在抛出 记录已存在的异常
SQL Error [23505]: ERROR: duplicate key value violates unique constraint
下面是代码
DSLContext create = getDSLContext();
List<UserRecord> userRecordList = new ArrayList<>();
for (Users user : model.getUsers()) {
User record = create.newRecord(user);
userRecordList.add(record);
}
create.batchStore(userRecordList).execute();
目前它可以很好地插入记录,但是当根据唯一约束发现重复记录时,它应该更新记录
最佳答案
我已经通过使用公共(public)接口(interface) UpdatableRecord 解决了这个问题,首先我使用 fetchOne() 查询根据唯一约束获取记录,该唯一约束将提供 UpdatableRecord,然后使用更新后的值设置值然后添加到 userRecordlist 中,后者将进一步传递到 batchStore
关于java - 更新批处理存储 jooq 上唯一约束的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46211742/