개발자의 삶/MySQL

Mysql 중복 건에 대한 update - duplicate key

Kedric 2021. 3. 3. 14:02
반응형

문법은 이러하다

insert into
    테이블명(컬럼1, 컬럼2, ...)
values
    (값1, 값2, ...)
on duplicate key update
    중복 시 처리 할 내용

 

 

insert 건에 대해 중복된 튜플이 있다면

해당 튜플을 update 하는 방법이다.

insert into
    테이블명(컬럼1, 컬럼2)
values
    (값1, 값2)
on duplicate key update
    컬럼1 = 값3;

해당하는 테이블(컬럼1, 컬럼2)에

값1과 값2인 튜플이 없을 경우

insert 가 동작하고

 

테이블(컬럼1, 컬럼2)에

값1과 값2인 튜플이 있는 경우

update 가 동작하여 값1이 값3으로 수정된다.

 

name 과 phone 을 가지는 tb_test 테이블이 있다고 생각해보자.

insert into
    tb_test(name, phone)
VALUES
    ('홍길동', '01012341234')
on duplicate key update
    phone = '01022223333';

위 쿼리문을 실행하게 되면

아래와 같은 결과를 얻을 수 있다.

name phone
홍길동 01012341234

 

해당 쿼리문을 한번더 실행하게 되면

아래처럼 수정한 결과를 볼 수 있다.

name phone
홍길동 01022223333

 

 

자세한 설명과 방법은 MySQL 사이트에서 확인해보자.

반응형