成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > PostgreSQL的upsert實例操作(insert on conflict do)

PostgreSQL的upsert實例操作(insert on conflict do)

熱門標簽:辦公外呼電話系統(tǒng) 漯河外呼電話系統(tǒng) 地圖標注和圖片名稱的區(qū)別 合肥公司外呼系統(tǒng)運營商 外呼調研系統(tǒng) 重慶自動外呼系統(tǒng)定制 打電話智能電銷機器人授權 美容工作室地圖標注 海豐有多少商家沒有地圖標注

建表語句:

DROP TABLE IF EXISTS "goods";
CREATE TABLE "goods" (
 "store_cd" int4 NOT NULL,
 "good_cd" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
 "name" varchar(255) COLLATE "pg_catalog"."default"
);
 
INSERT INTO "goods" VALUES (101, '1', '張三');
INSERT INTO "goods" VALUES (102, '2', '李四');
INSERT INTO "goods" VALUES (103, '3', '王五');
 
ALTER TABLE "goods" ADD CONSTRAINT "pr_cd_key" PRIMARY KEY ("store_cd", "good_cd");

表數(shù)據(jù):

數(shù)據(jù)存在則更新數(shù)據(jù),不存在則插入數(shù)據(jù)

INSERT INTO GOODS VALUES ( 104, '4', '趙六' ) 
ON CONFLICT ON CONSTRAINT pr_key_cd DO
UPDATE 
 SET NAME = '更新' 
WHERE
 GOODS.STORE_CD = '104' 
 AND GOODS.GOOD_CD = '4'

pr_key_cd為必須為唯一主鍵,也可以用下面寫法(注意:必須保證篩選出數(shù)據(jù)唯一)

INSERT INTO GOODS VALUES ( 104, '4', '趙六' ) 
ON CONFLICT ( STORE_CD, GOOD_CD ) DO
UPDATE 
 SET NAME = '更新' 
WHERE
 GOODS.STORE_CD = '104' 
 AND GOODS.GOOD_CD = '4'

上面的兩種的寫法,是先執(zhí)行insert如果主鍵沖突則執(zhí)行update,沒有沖突就執(zhí)行insert了。要是想先執(zhí)行update語句呢?

update更新失敗執(zhí)行insert,更新成功則執(zhí)行update。

WITH TABLE1 AS ( UPDATE GOODS SET NAME = '更新' WHERE STORE_CD = '104' AND GOOD_CD = '4' RETURNING * ) 
INSERT INTO GOODS SELECT 104, '4', '趙六' 
WHERE NOT EXISTS ( SELECT 1 FROM TABLE1 WHERE STORE_CD = '104' AND GOOD_CD = '4' )

補充:Postgresql插入或更新操作upsert

冪等性的一個要求是多次操作的結果一致。對于update操作,多次直接的結果都是最后update的值,是滿足需求的。但對于insert,如果已經插入,第二次會報錯,duplicate error, 主鍵重復或者unique key duplicate。所以需要做一下處理。

最簡單的就是,try-catch,當報錯的時候,調用update去更新,或者策略更簡單點,直接返回就行,不需要更新,以第一條為準。

PostgreSQL從9.5之后就提供了原子的upsert語法: 不存在則插入,發(fā)生沖突可以update。

Inert語法

官方文檔: https://www.postgresql.org/docs/devel/sql-insert.html

[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
  [ OVERRIDING { SYSTEM | USER} VALUE ]
  { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
  [ ON CONFLICT [ conflict_target ] conflict_action ]
  [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
where conflict_target can be one of:
  ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ WHERE index_predicate ]
  ON CONSTRAINT constraint_name
and conflict_action is one of:
  DO NOTHING
  DO UPDATE SET { column_name = { expression | DEFAULT } |
          ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
          ( column_name [, ...] ) = ( sub-SELECT )
         } [, ...]
       [ WHERE condition ]

index_column_name

The name of a table_name column. Used to infer arbiter indexes. Follows CREATE INDEX format. SELECT privilege on index_column_name is required.

index_expression

Similar to index_column_name, but used to infer expressions on table_name columns appearing within index definitions (not simple columns). Follows CREATE INDEX format. SELECT privilege on any column appearing within index_expression is required.

使用示例

創(chuàng)建表

CREATE TABLE "test"."upsert_test" (
 "id" int4 NOT NULL,
 "name" varchar(255) COLLATE "pg_catalog"."default"
)
;

當主鍵id沖突時,更新其他字段

INSERT INTO test.upsert_test(id, "name")
  VALUES(1, 'm'),(2, 'n'),(4, 'c')
  ON conflict(id) DO UPDATE
  SET "name" = excluded.name;

did 沖突的主鍵

EXCLUDED 代指要插入的記錄

當主鍵或者unique key發(fā)生沖突時,什么都不做

INSERT INTO test.upsert_test(id, "name")
VALUES(1, 'm'),(2, 'n'),(4, 'c')
ON conflict(id) DO NOTHING;

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql 13.1 insert into select并行查詢的實現(xiàn)
  • PostgreSQL 實現(xiàn)distinct關鍵字給單獨的幾列去重
  • postgresql insert into select無法使用并行查詢的解決
  • 啟動PostgreSQL服務器 并用pgAdmin連接操作
  • SpringBoot連接使用PostgreSql數(shù)據(jù)庫的方法
  • postgresql合并string_agg函數(shù)的實例
  • PostgreSQL時間線(timeline)和History File的用法
  • postgresql 數(shù)據(jù)庫 與TimescaleDB 時序庫 join 在一起
  • PostgreSQL 對IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案

標簽:錦州 來賓 株洲 蚌埠 衡陽 珠海 烏海 晉城

巨人網絡通訊聲明:本文標題《PostgreSQL的upsert實例操作(insert on conflict do)》,本文關鍵詞  PostgreSQL,的,upsert,實例,操作,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PostgreSQL的upsert實例操作(insert on conflict do)》相關的同類信息!
  • 本頁收集關于PostgreSQL的upsert實例操作(insert on conflict do)的相關信息資訊供網民參考!
  • 推薦文章
    欧美视频在线一区二区三区| 成人毛片100部免费看| 欧美 日韩 国产 成人 在线观看| 日韩欧美一中文字暮专区| 国产精品超碰97尤物18| 亚州国产精品久久久| 精品国模一区二区三区欧美| 国产精品人人妻人人爽人人牛| 一级毛片在线播放| 亚洲久草在线视频| 波多野结衣成人在线| 日韩精品二区| 九九热在线视频观看这里只有精品| 在线观看视频99| 欧美成人精品一区二区免费看片| 国产资源在线观看入口av| 性生活视频网站| 一二三四在线观看免费高清中文在线观看| 亚洲一区二区乱码| 中文字幕影音在线| 国产黄色片在线播放| 国产xxxxx18| 免费的色视频| 久久99青青| 小嫩苞一区二区三区| 亚洲天堂网在线观看视频| 乱熟女高潮一区二区在线| 久久99久久99精品蜜柚传媒| 成人蜜桃视频| 五月综合激情日本mⅴ| 欧美韩日一区二区三区四区| 国产精品99精品一区二区三区∴| 国产中文字幕网| 亚洲精品xxx| 女人天堂亚洲aⅴ在线观看| 精品国产一区二区亚洲人成毛片| 日韩精品免费在线视频| 99久久精品免费看| 欧美一级大片| 欧美成人激情图片网| 影音先锋在线亚洲| 免费看男男www网站入口在线| 精品国产乱码一区二区三| 精品国产999| 毛片av一区二区三区| 国产又粗又猛又黄又爽| 毛片在线视频| 91jq激情在线观看| 国产三区在线播放| 97国产精品视频| 欧美激情视频一区二区三区不卡| 午夜欧美精品| 精品国自产拍在线观看| 免费搞黄视频| 黄色免费直接看| 欧美日韩成人一区二区三区| 亚洲国产古装精品网站| 美女欧美视频在线观看免费| 亚洲国产精品久久网午夜小说| 超碰免费在线公开| 精品无码在线视频| 蜜桃狠狠狠狠狠狠狠狠狠| 蜜桃在线一区| 欧美精品乱人伦久久久久久| 日韩欧美精品一区二区三区经典| 免费电影网站在线视频观看福利| 激情小视频在线观看| 国产精品久久久精品| 欧美午夜寂寞影院| 18禁裸男晨勃露j毛免费观看| 精品国产一区二区三区四区在线观看| 免费成人在线视频网站| 国产精品成人国产| 色婷婷激情综合| 九七午夜视频| 91嫩草视频在线观看| 欧美在线性视频| 欧美影院精品| 五月激情六月综合| 欧美一区三区二区| 久久综合中文色婷婷| 日韩美女视频在线观看| 国产91丝袜在线观看| 成人性生交大片免费看中文网站| 青青草精品毛片| 狠狠狠综合7777久夜色撩人| 免费三级在线观看| 欧美又粗又长又爽做受| 亚洲精品www久久久久久| 久久新电视剧免费观看| 永久免费观看片现看| 国产精品自在线拍| 亚洲欧美中文日韩v在线观看| 无码久久精品国产亚洲av影片| 无码播放一区二区三区| av成人免费网站| 在线免费观看亚洲视频| 国产嫩草一区二区三区在线观看| 久久久婷婷一区二区三区不卡| 丰满岳乱妇一区二区| 国产日产欧美一区| 久久中文字幕一区| 久久综合资源网| 国产精品美女久久久久av爽| 久久婷五月综合| 国产清纯在线一区二区www| 亚洲精品555| 黑料吃瓜在线观看| 精品国产成人在线| 国产午夜精品一区二区理论影院| 91蝌蚪视频在线观看| 久久精品不卡| 日韩久久久久久久久久久久| 性高潮视频在线观看| 日韩欧美第二区在线观看| 欧美亚洲在线视频| 国产欧美在线播放| 香蕉影院在线观看| 91插插视频| 在线观看视频亚洲| wwwww在线观看免费视频| 欧美xxxx网站| 精品久久久久久无码人妻| 国产精品欧美日韩| 亚洲精品午夜久久久久久久| 欧美亚洲色综久久精品国产| 91欧美精品| 中文字幕午夜精品一区二区三区| 精品嫩草影院久久| 成功精品影院| 韩国v欧美v亚洲v日本v| 一本色道久久综合亚洲91| 在线亚洲电影| 茄子视频成人在线| 国产精品分类| 国产精品久久久久久久免费看| 日韩不卡一二区| 最新中文字幕一区| 久久精品视频中文字幕| 日本xxxxxxxxx18| 中文字幕国产在线观看| 91色综合久久久久婷婷| 欧美亚洲动漫精品| 日本片在线看| 久久久久久夜精品精品免费| av在线免费网站| 99国产精品久久一区二区三区| 影音先锋5566中文源资源| 日韩私人影院| 欧洲精品一区二区三区| 欧洲综合视频| 亚洲激情自拍| 欧美日韩在线观看一区二区三区| 黄色aaa大片| 午夜精品剧场| 91av视频在线观看| 免费成人av资源网| 欧美成人h版在线观看| 欧美狂猛xxxxx乱大交3| 亚洲天堂第二页| 国产一级片免费观看| 99久久久精品免费观看国产蜜| 99久久久无码国产精品性| 国产99久久精品| 四虎国产精品永久在线| 在线观看国产91| 老司机午夜精品视频在线观看| 欧美最近摘花xxxx摘花| 做爰视频毛片视频| 国产午夜福利100集发布| 精品国产中文字幕第一页| 亚洲成人第一区| 欧洲日本不卡| 深爱五月激情五月| 99久久国产综合精品成人影院| 亚洲精品ww久久久久久p站| 亚洲国产一区二区三区在线播放| 欧美成a人片免费观看久久五月天| 国产精品中文欧美| 日韩成人短视频| 国产精品27p| 久久美女福利视频| 羞羞网站免费观看| 中文日韩在线视频| 欧美日韩在线一区二区| 亚洲自拍第二页| 国产肥老妇视频| 妺妺窝人体色www看人体| 激情视频免费网站| 午夜精品网站| 91亚洲国产精品| 黑人巨茎大战欧美白妇| 2017欧美狠狠色| 在线欧美一级视频| 在线看的黄色网址| 一个人看的日本www的免费视频| 影音先锋5566资源网| 成人资源www网在线最新版| 九七电影韩国女主播在线观看| 无码人妻精品一区二区三区在线| 在线免费av网| 久久久久久无码精品大片| 天天综合视频在线观看| 永久在线免费观看| 爱高潮www亚洲精品| 国产二区在线播放| 亚洲1区在线| 福利一区在线| 视频一区视频二区中文| 日韩欧乱色一区二区三区在线| 国产一区二区三区| 日韩在线激情视频| 日本dhxxxxxdh14日本| 日本午夜一本久久久综合| 夜夜夜久久久| 国产无码精品一区二区| 日本二区三区视频| 国产免费人做人爱午夜视频| 国产一区二区三区影院| 天堂а√在线资源在线| 国产99一区视频免费| 国内国产精品天干天干| jazzjazz国产精品麻豆| 天天做天天爱天天综合网2021| 天天射天天拍| 国产精品黄色影片导航在线观看| 群体交乱之放荡娇妻一区二区| 香蕉视频在线网址| 欧美猛交免费看| 天天影视色香欲综合| 奇米影视第四色7777| 欧美日韩一二区| 99在线观看视频网站| 91免费精品视频| 免费av一级片| 国产一区二区在线视频播放| 久久精品www| 日本妇乱大交xxxxx| 欧美日韩国产一中文字不卡| 污视频网站在线观看| 久久国产精品久久精品国产| 天堂久久一区二区三区| 天堂在线视频播放| 午夜成年人在线免费视频| 亚洲人成7777| 私库av在线播放| 蜜臀一区二区三区| 国产精品777| 久久国产精品成人免费观看的软件| 中文字幕在线精品| 中文字幕在线网址| 日韩欧美精品在线观看视频| 亚洲91av视频| 秋霞午夜电影| 欧美伦理视频在线观看| 成人在线精品| 亚洲成av人片乱码色午夜| 无码人妻丰满熟妇啪啪网站| 国产二区视频在线播放| 国模冰冰炮一区二区| 日韩黄色视屏| 思思久久精品视频| 国产亚洲视频在线观看| 久久人人视频| 波多野结衣有码| 熟女少妇在线视频播放| 亚洲男人的天堂在线aⅴ视频| 亚洲成人99| 精品av在线播放| 日日碰狠狠添天天爽超碰97| 一个人看的免费视频色| 这里只有精品在线播放| 男人的天堂网页| 中文字幕av在线一区二区三区| 久久久久久无码精品人妻一区二区| 亚洲激情av在线| 蜜臀av性久久久久蜜臀av| 日韩一级大片在线| 91精品国产99| 国产肉体ⅹxxx137大胆| 日韩偷拍一区二区| 99久久久无码国产精品性| 欧美亚洲视频在线观看| 国产精品久久久久久久久免费丝袜| 91综合精品国产丝袜长腿久久| 在线视频xx| 中文在线天堂网www| 中文字幕精品综合| 久久综合九色综合欧美就去吻| 亚洲综合色成人| 懂色av一区二区夜夜嗨| 色综合视频在线观看| 亚洲美女视频在线免费观看| 中文字幕一区二| 亚洲精品第一国产综合野草社区| 国产人与禽zoz0性伦| www.夜夜| 国产成人av网站| 久久精彩视频| 亚洲欧美日韩精品久久奇米色影视| 不卡的电视剧免费网站有什么| 亚洲第一综合天堂另类专| 欧美黑人乱大交| 国产熟女一区二区丰满| 免费看欧美美女黄的网站| 国产精品美女一区二区三区四区| 91l九色lporny| 欧美成人精精品一区二区频| 综合欧美视频一区二区三区| 国产精品偷伦一区二区| 婷婷激情五月网| 黄色成人在线观看| 九色porny自拍| 精品国产一区二区三区免费| 免费av一级片| 色呦呦日韩精品| 欧美性猛片xxxx免费看久爱| 日韩av手机在线观看| 久久精品2019中文字幕| 国产精品91久久久久久| 国产成人免费在线观看| 亚洲**2019国产| 都市激情在线视频| 欧洲美女网站| 免费在线观看视频a| 99re6热在线精品视频播放速度| 日本不卡在线观看视频| 非洲黑人最猛性xxxx交|