是否可以只在发现重复项时使用jooq的更新某些字段 batchAll()
装载机?类似于 onDublicateKeyUpdate()
可用于单个记录:https://www.jooq.org/doc/latest/manual/sql-building/sql-statements/insert-statement/insert-on-duplicate-key/.
我要更改的代码,在有重复项时只更新一个字段:
dsl.loadInto(TABLE)
.batchAll()
.onDuplicateKeyUpdate()
.loadRecords(records)
.fields(TABLE.fields())
.execute();
1条答案
按热度按时间eiee3dmh1#
不,这是不可能的
Loader
api,但您可以使用单个语句的普通批处理,可以通过编程方式使用批处理api,也可以使用批处理连接,该连接收集所有jdbc语句并延迟执行,直到可以执行批处理: