亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何實現UPSERT(合并,插入…)關于重復更新)在PostgreSQL中?

如何實現UPSERT(合并,插入…)關于重復更新)在PostgreSQL中?

躍然一笑 2019-05-30 17:49:45
如何實現UPSERT(合并,插入…)關于重復更新)在PostgreSQL中?這里一個經常被問到的問題是如何重新插入,這就是MySQL所稱的。INSERT ... ON DUPLICATE UPDATE和標準支持作為MERGE行動。考慮到PostgreSQL不直接支持它(在PG9.5之前),您如何做到這一點?考慮以下幾點:CREATE TABLE testtable (     id integer PRIMARY KEY,     somedata text NOT NULL);INSERT INTO testtable (id, somedata) VALUES(1, 'fred'),(2, 'bob');現在假設您想要“插入”元組。(2, 'Joe'), (3, 'Alan'),因此新的表內容將是:(1, 'fred'),(2, 'Joe'),    -- Changed value of existing tuple(3, 'Alan')    -- Added new tuple這就是人們在討論upsert。至關重要的是,任何方法都必須是在同一個表中存在多個事務時安全-使用顯式鎖定,或以其他方式抵抗由此產生的競爭條件。本主題在插入,在PostgreSQL中的重復更新?,但這是MySQL語法的替代品,而且隨著時間的推移,它已經有了一些不相關的細節。我正在研究明確的答案。這些技術也適用于“如果不存在插入,否則什么也不做”,即“在重復鍵忽略時插入.”。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 2153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號