upsert顾名思义是update和insert,即插入的记录存在重复则会更新这条记录,否则就插入;这个语法可以简化我们的操作;upsert是一个简称的术语,并不是标准的sql标志符,因此在不用的数据库体系中表现的语法不一样,在pg数据库中语法为
1.将某个数据更新为输入的值 :Insert into ....on conflict (判断重复字段集合) do update(更新)set....
INSERT INTO ACCOUNT(ID,NAME) (1,‘麦当劳') ON CONFLICT(ID) DO UPDATE SET NAME='麦当劳' //向数据库中插入id为1,那么为麦当劳的记录,如果id为1的记录存在,则将对应的记录的name修改为麦当劳
2.将某个数据更新为原值的累加等
INSERT INTO ACCOUNT AS QUERYDATA (ID,VALUE) (1,100) ON CONFLICT(ID) DO UPDATE SET VALUE=QUERYDATA .VALUE+100 //向数据库中插入id为1,那么为麦当劳的记录,如果id为1的记录存在,则将对应的记录的name修改为麦当劳
3.存在重复记录不做处理
INSERT INTO ACCOUNT AS QUERYDATA (ID,VALUE) (1,100) ON CONFLICT(ID) DO nothing
标签:记录,数据库,VALUE,id,麦当劳,pg,ID,upsert From: https://www.cnblogs.com/cellphone/p/17467630.html