使用PostgreSQL进行upsert操作

我想到了在PostgreSQL 9.5及以上版本中可以使用CONFLICT来完成UPSERT操作,觉得这个功能很方便,所以我记录下了操作方法。

-- test_table_wk のデータで test_table を upsert する
INSERT INTO test_table
    SELECT * FROM test_table_wk
ON CONFLICT
    ON CONSTRAINT test_table_pkey
DO UPDATE SET
    name = excluded.name,
    gender = excluded.gender,
    age = excluded.age;

非常清晰易读的写作!

广告
将在 10 秒后关闭
bannerAds