반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 제이쿼리
- oracle
- draw
- 오라클
- 파이썬
- Linux
- 리눅스
- 주식공부
- JavaScript
- 덩크 하이
- Dunk Low
- Python
- 주식
- Github
- dunklow
- Nike
- 드로우
- 덩크로우
- 자바스크립트
- jQuery
- 리액트
- stockx.com
- 나이키
- dunk high
- GIT
- 코로나19
- sacai
- 발매예정
- 덩크 로우
- react
Archives
- Today
- Total
Life goes slowly...
[Mysql] Mysql 동시에 Insert와 Update - Upsert() 함수 본문
728x90
반응형
Mysql의 Upsert 함수
Mysql의 Insert 와 Update 를 함께 쓰는 기능으로 관련된 Data가 없으면 Insert하고 관련된 Data가 있으면 Update 하는 함수입니다. (Mysql 4.1 버전 이상부터 지원하고 있습니다.) 다른 DB에서도 Upsert 작업에 대한 기능을 제공하고 있습니다.
DataBase |
기능을 제공하는 Query |
Mysql |
ON DUPLICATE KEY UPDATE |
Oracle |
MERGE INTO |
Mssql |
IN NOT EXISTS |
Upsert 사용방법
INSERT INTO @TABLE
(arg1, arg2, arg3, arg4, arg5)
VALUES
(@arg1, @arg2, @arg3, @arg4, @arg5)
ON DUPLICATE KEY UPDATE //Key를 제외한 Update할 컬럼들
arg1 = @arg1, arg3 = @arg3, arg5 = @arg5
Upsert와 비슷한 방법으로 REPLACE 방법도 있습니다.
INSERT INTO @TABLE
(arg1, arg2, arg3, arg4, arg5)
VALUES
(@arg1, @arg2, @arg3, @arg4, @arg5)
REPLACE INTO @TABLE (arg1, arg2, arg3, arg4, arg5) VALUES (@arg1, @arg2, @arg3, @arg4, @arg5)
REPLACE 방법은 해당 Row Data를 삭제하고 새롭게 Insert 하는 방법으로 ON DUPLICATE KEY UPDATE을 지향하는게 좋을듯합니다.
728x90
반응형
'프로그래밍 > MySQL' 카테고리의 다른 글
[Mysql] Mysql의 별칭 - Alias (0) | 2020.09.29 |
---|---|
[Mysql] 테이블 구조 - 계층형Query (0) | 2020.09.24 |
[Mysql] 문자열 치환하기 - REPLACE() 함수 (0) | 2020.09.23 |
[Mysql] 시간 더하기, 빼기 함수 - DATE_ADD(), DATE_SUB() (0) | 2020.09.15 |
[Mysql] 공백, 문자 제거 함수 - TRIM(),LTRIM(),RTRIM() (0) | 2020.09.14 |
[Mysql] 문자열 자르기 함수 - SUBSTRING(),LEFT(),RIGHT() (0) | 2020.09.11 |
[Mysql] 문자열 합치는 함수 - CONCAT(), CONCAT_WS() (0) | 2020.09.11 |
[Mysql] Mysql 조건문 - IF 문, CASE 문 (0) | 2020.09.07 |
Comments