[insert] 이미 테이블에 PK가 존재할 경우, update 혹은 아무일도 일어나지 않게 설정이 가능하다. => upsert
그 중 아무 일도 일어나지 않게 하는 방법에 대해 설명한다.
[Do Nothing - INSERT]
-- 테이블 생성
postgres=# create table post (
id varchar(255),
pwd varchar(255),
constraint id_pkey primary key (id)
);
-- insert one
postgres=# insert into post values ('1', '11');
-- insert 시, pk가 동일하기 때문에 에러 발생
postgres=# insert into post values ('1', '11');
-- 해결 방안
postgres=# insert into post values ('1', '11') on conflict on constraint id_pkey do nothing;
'Database > PostgreSQL' 카테고리의 다른 글
# PostgreSQL DB size (0) | 2020.09.15 |
---|---|
# PostgreSQL DB pool + with문 + dynamic query (0) | 2020.09.13 |
# PostgreSQL 절차형SQL_for문_insert (0) | 2020.07.05 |
PostgreSQL ON DELETE CASCADE (0) | 2020.07.02 |
PostgreSQL Auto_increment(varchar) (0) | 2020.07.02 |