大家好,欢迎来到IT知识分享网。
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
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30671.html