この記事の目的
PostgreSQLで、UPSERT構文(データINSERT中に制約エラーが発生した場合、UPDATE操作を行う)を使えるようになります。
ネット上の記事で9.5以降を扱っている記事が少なかったので、備忘録として。
PostgreSQLは、バージョンによって構文が異なります。
ネット上の記事を参考にする場合は、特に注意しましょう。
環境
- PostgreSQL 9.5 以降
構文
カラム①を、Primary key に設定している場合
$ INSERT into テーブル名 VALUES ('カラム①に入れたい値', 'カラム②に入れたい値')
on CONFLICT (カラム①) DO UPDATE set カラム①=値,カラム②=値;
その他の注意点
値をダブルクォーテーションで囲むと、エラーになってしまいます。