我試圖找出如何做的Postgres正確UPSERT成具有自動增量主要被稱爲「ID」,並在列「名稱」唯一鍵鍵列的表。的Upsert Postgres裏和自動遞增列
的問題是,源和目的表是在2臺獨立的機器,所以我知道什麼是最新的「ID」是對目標表的沒有簡單的方法。
我現在這樣做的方式是將目標表中的數據導入到源表中,檢查最高「id」,更新源數據庫中的表,然後將upsert插入目標表中,但正如你所看到的,它似乎過於複雜。
什麼,我想要做的一個例子是:
源表:
id status name
1 ok John
2 open Monica
目標表:
id status name
. . .
. . .
44 ok David
45 open John
的UPSERT的結果:
id status name
. . .
. . .
44 ok David
45 ok John
46 open Monica
一個簡單的UPSERT會有重複鍵衝突,由於「ID」列。
你爲什麼不只是插入(狀態,名稱)沒有身份證,因此序列將需要的ID?照顧.. –