티스토리 뷰

Primary Key로 잡혀있는 컬럼으로 같은 데이터를 INSERT 시도시 중복(Duplicate) 오류가 발생한다. 이럴때 3가지 방법으로 INSERT 하는 방법이 있다. 각각의 특성을 확인하고 상황에 맞게 적용하면된다.

INSERT시 중복(Duplicate)이 오류발생시 처리방법

1. INSERT IGNORE INTO

mysql> INSERT IGNORE INTO `user`(`email`, `name`) VALUES('ref@mail.com', '레퍼런스');
Query OK, 0 rows affected (0.00 sec)

- 기존 데이터 유지
- 현재 데이터 무시
- 0 rows affected

 

2. REPLACE INTO

mysql> REPLACE INTO `user`(`email`, `name`) VALUES('ref@mail.com', '레퍼런스');
Query OK, 2 rows affected (0.00 sec)

- 기존 데이터 삭제
- 현재 데이터로 치환
- 2 rows affected

 

3. ON DUPLICATE KEY UPDATE

INSERT INTO `user`(`email`, `name`) VALUES('ref@mail.com', '레퍼런스')
    ON DUPLICATE KEY UPDATE `name` = VALUES('레퍼런스2');
Query OK, 2 rows affected (0.01 sec)

- UPDATE 필드 업데이트
- 2 rows affected

 

'데이터베이스 > SQL' 카테고리의 다른 글

[SQL] MySQL DB Connection 확인  (0) 2022.11.03
[SQL] NOT NULL, DEFAULT 비교  (0) 2022.08.31
[SQL] MySQL Select 결과로 Update  (0) 2021.03.04
[SQL] Joins Tutorial  (0) 2021.02.08
[SQL] DBMS VS RDBMS 차이  (0) 2021.02.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함