본문으로 바로가기

# PostgreSQL upsert

category Database/PostgreSQL 2020. 7. 18. 22:30

[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