Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코드업문제풀이
- BaekJoon
- oracle
- 자바문제풀이
- 에러코드
- commit
- CodeUp
- 문제풀이
- 자바별찍기
- 임시테이블생성
- mysql
- 오늘부터 개발자
- 오늘부터개발자
- 조건문
- SQL
- java
- 오라클에러코드
- 코드업
- if문
- 오라클에러
- 별찍기
- db
- 백준
- 오라클
- 반복문
- for문
- 파이썬
- Python
- 자바
- 자바문제
Archives
- Today
- Total
매일 1%씩, 개발자로 성장하기
[MySQL] 값이 있으면 Update, 값이 없으면 Insert 하는 방법 ON DUPLICATE KEY UPDATE 본문
Database/MySQL
[MySQL] 값이 있으면 Update, 값이 없으면 Insert 하는 방법 ON DUPLICATE KEY UPDATE
할미개발 2022. 6. 7. 20:53728x90
작업을 하다보면 결과 값에 따라 새로운 값을 Insert해야 할 때도 있고
기존 값을 새로운 값으로 Update를 해줘야 할 경우가 있다.
이럴 때 사용할 수 있는 MySQL 구문으로 ON DUPLICATE KEY UPDATE가 있다.
즉, Insert 구문과 Update 구문을 같이 사용할 수 있다.
이 구문을 사용 할 때는 컬럼에 UNIQUE 혹은 PRIMARY KEY 값, 즉 unique 제약조건을 가지고 있어야한다.
INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE b=3,c=1;
t1 테이블에서 1이라는 값을 a가 가지고 있다면 b=3, c = 1로 업데이트 하고
a의 값에 1이 없을 경우 a=1,b=2, c=3을 삽입한다. (여기서 a의 제약조건으로 pk 설정되었다고 가정함)
결론 : 중복 항목이 발생하는 경우 기존 행을 Update 중복 항목이 없을 경우 Insert
관련 링크 : https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
728x90
Comments