SQL에서 UPSERT(INSERT ON CONFLICT / INSERT ON DUPLICATE KEY UPDATE)의 동작으로 올바른 것은?

쉬움 W3Schools
보기 및 정답
A 행이 존재하면 업데이트하고, 존재하지 않으면 새로 삽입하는 원자적 연산이다
B TRUNCATE TABLE처럼 모든 행을 삭제한 후 새 데이터를 삽입한다
C UNION ALL 연산자와 동일하게 두 테이블의 데이터를 하나로 합친다
D WHERE 조건에 맞는 행만 선택적으로 삭제하는 조건부 DELETE 연산이다

해설

UPSERT는 INSERT + UPDATE의 합성어입니다. PostgreSQL에서는 INSERT ... ON CONFLICT DO UPDATE, MySQL에서는 INSERT ... ON DUPLICATE KEY UPDATE 구문을 사용합니다. PK나 유니크 제약 조건 충돌 시 UPDATE로 전환되어, SELECT + 조건 분기 없이 한 문장으로 안전하게 처리할 수 있습니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기
처리 중...