본문 바로가기
일하딩/Mysql

[Mysql] Merge 하는 방법

by 별난형 2020. 7. 11.

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 에서 이 구문을 쓰는 것이 좀 더 잘 읽히는 것 같다.

댓글