SQL更新或保存操作(当存数据在则更新, 不存在则保存)

当数据存在则更新, 不存在则保存

  • sql
insert into table_name(key1,key2) valus(value1,value2) 
on duplicate key update 
key1 = #{value1}
  • pgsql
insert into table_name(key1,key2) valus(value1,value2) 
on conflict(key1) do UPDATE set 
key1 = #{value1}

但值得注意的是conflict(key1) 里面的key1尽量是唯一约束

参考链接

  • [1] ON DUPLICATE KEY UPDATE 用法
  • [2] ON CONFLICT DO UPDATE命令无法再次影响行
  • [3] PostgreSQL中批量upsert方法

你可能感兴趣的:(sql,sql,数据库,保存或更新)