pg 数据库,在新增的数据的时候,根据字段唯一性去更新数据

2023-10-27 17:02:51 浏览数 (2)

1 问题

在使用pg 数据库的时候,我们新增数据,希望如果有几个字段和数据库的一样,那么就更新数据,也就是在新增的时候,自动判断是否数据库有这个数据,有就更新,没有就新增

2 实现

1 首先你要确定要根据哪几个字段进行判断

然后,在数据库表里面

2 在 代码里面,xml 里面 的 insert 语句里面,这样写

代码语言:javascript复制
 <insert id="batchInsert" parameterType="map">
    <!--@mbg.generated-->
    insert into user
    (id, create_time,  quality,country)
    values
    <foreach collection="list" item="item" separator=",">
      (#{item.id,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, 
       #{item.quality,jdbcType=VARCHAR}, #{item.country,jdbcType=VARCHAR})
    </foreach>
     ON CONFLICT(station_num,obs_time)
    DO UPDATE SET

 quality=EXCLUDED.quality, country=EXCLUDED.country
  </insert>

0 人点赞