项目中用到批量新增,修改,这里记录一下:
1、批量新增,当遇到冲突时,进行修改
sql:
insert into table_name(id, col1) values(unnest(array[1,2], unnest(array[value1, value2])) on conflict(id) do update set set col1=excluded.col1;
2、批量新增,当新增数据存在时,则不做任何修改
sql:
insert into table_name(id, col1) values(unnest(array[1,2], unnest(array[value1, value2])) on conflict(id) do nothing;
3、批量修改:
sql:
update table_name set col1=tmp.col1 from (select unnest(array[1,2,3]) as col1, unnest(array[id1, id2]) as id ) as tmp where tmp.id= table_name.id;