티스토리 뷰
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 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 소프트웨어공학
- Java
- Eclipse
- 회고
- 오라클 내장 함수
- 리액트
- 리눅스 명령어
- Collection
- javascript
- 경력관리
- React
- Maven
- sort algorithm
- Linux 명령어
- 자바스크립트
- 개발환경
- 제주도 여행
- SQL
- 자바
- 성능분석
- 오라클
- 제주도 3박4일 일정
- 정렬 알고리즘
- Tomcat
- 이직
- 프로그래머스
- 리액트 16
- spring
- effective java
- 프로그래머
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함