ON DUPLICATE KEY UPDATE

테이블을 생성한 후, 중복 저장을 위해서 아래와 같은 방법을 생각할 수 있다.

  1. select 해서 해당 데이터 존재하는지 확인
  2. 존재 하지 않으면 insert 존재하면 update

MySQL에서는 해당 로직을 ON DUPLICATE KEY UPDATE를 통해서 편하게 구현할 수 있다.

(단, 테이블에 unique 값이 한개 있어야 한다. 그리고 update구문에서 set은 사용하지 않아야 한다.)

image.png

INSERT INTO user(회원id,이름,전화번호) VALUES(1,홍길동,010-1234-1111)
ON DUPLICATE KEY UPDATE 전화번호 (010-1234-2222)