1. UPSERT란?
INSERT를 시도할때 조건(상황)에 따라 UPDATE를 할 수 있는 구문입니다.
* ORACLE의 MERGE INTO와 같은 역할을 하는 구문
2. 사용 예시 !
1) 기본적인 예시
INSERT INTO example(
USERID,NAME,EMAIL
)VALUES(
'kim','김00','kim@naver.com'
)
ON CONFLICT(USERID) DO
UPDATE
SET
NAME = '김00',
EMAIL = 'kim@naver.com';
## USERID key를 기준으로 insert 혹은 update를 실행한다.
2) INSERT할 경우 KEY값이 중복 되었을 때 아무것도 하지 않을 경우
INSERT INTO example (
USERID, NAME, EMAIL
) VLAUES (
'kim','김00','kim@naver.com'
) ON CONFLICT (USERID) DO NOTHING;