Merge 란
Key 에 해당하는 데이터가 없으면 Insert.
있으면 Update 하는 기능이다.
Mysql 에서는 Merge 구문이 따로 없다.
하지만 다른 방법을 사용해서 Merge 를 할 수 있다.
INSERT INTO tablenm(
column1,
column2,
column3,
column4
)VALUES(
'value1',
'value2',
'value3',
now()
)
ON DUPLICATE KEY UPDATE
column2 = 'value4',
column3 = 'value5',
column4 = now()
위와 같이 우선 Insert 를 진행한 후 해당 Key 값이 중복되면 Update 를 하는 것이다.
중요한 것은 Insert 구문에 반드시 Primary Key 필드를 넣어야 한다.
그래야 Duplicate 를 확인할 수 있기 때문이다.
Oracle 에서 Merge 를 쓰는 것보다
Mysql 에서 이 구문을 쓰는 것이 좀 더 잘 읽히는 것 같다.
'일하딩 > Mysql' 카테고리의 다른 글
[Mysql] 문자열 찾기, 원하는 순서 정렬 - FIND_IN_SET (0) | 2021.02.08 |
---|---|
[Mysql] 문자열 찾기, 원하는 순서로 정렬 - FIELD 함수 (0) | 2021.02.05 |
[Mysql] Select 시 Paging 처리 하기. Limit, Offset (0) | 2020.11.11 |
[Mysql] Insert 대량으로 하는 방법. (mybatis 에서도) (0) | 2020.11.11 |
댓글