关于PG数据库的一些学习总结
业务场景:
如果要增加一条数据,那么首先要根据当前数据的信息去数据库中查询当前这条信息是否存在,如果返回的值不为空,那么存在即进行更新,如果不存在那么进行插入,
在此过程中,需要和数据库进行两次操作,如果数据量大可能会操作性能低,耗时高等问题。
在pg中,可以直接对数据库进行一次操作,即可解决如下问题
insert into tb_door(door_id,door_name,door_status) values (1,'tangchengyiping',0)
on conflict on constraint pk_tb_door do update set door_status = excluded.door.status;