INSERT 중복키 문제 처리

·2024년 7월 12일
0

MySQL

목록 보기
5/14

INSERT 중복키 문제 처리

만약 INSERT를 할 때 삽입하는 데이터의 키가 중복키라면 삽입이 되지 않는다. 또한 오류가 발생한 쿼리 이후의 쿼리들도 실행되지 않는다.

INSERT INTO 테이블명 VALUES(1,2,3);
INSERT INTO 테이블명 VALUES(4,5,6);
INSERT INTO 테이블명 VALUES(7,8,9);

만약 값1이라는 키가 이미 존재한다면, 첫번째 쿼리가 실행되지 않는다. 그리고 두번째, 세번째 쿼리까지 모두 실행이 되지 않을 것이다.

이에 대한 핸들링 방법은 두가지가 있다.

1. IGNORE

INSERT IGNORE INTO 테이블명 VALUES(1,2,3);
INSERT IGNORE INTO 테이블명 VALUES(4,5,6);
INSERT IGNORE INTO 테이블명 VALUES(7,8,9);

IGNORE를 사용하면, 문제가 발생한 쿼리를 무시하고 이후의 쿼리들은 오류를 무시한 채 실행된다.
그렇기 때문에 첫번째 쿼리는 실행되지 않을 것이고, 두번째, 세번째 쿼리는 실행이 된다.

2. ON DUPLICATE KEY UPDATE

INSERT INTO 테이블명 VALUES(1,2,3)
  ON DUPLICATE KEY UPDATE 컬럼2 =2, 컬럼3 =3;
INSERT INTO 테이블명 VALUES(4,5,6)
  ON DUPLICATE KEY UPDATE 컬럼2 =5, 컬럼3 =6;

INSERT문 실행 시 중복키가 존재한다면 값을 업데이트 하도록 할 수도 있다.
만약 중복키가 존재하지 않는 경우에는 INSERT만 실행하게 된다.

profile
티스토리로 블로그 이전합니다. 최신 글들은 suhsein.tistory.com 에서 확인 가능합니다.

0개의 댓글