본문 바로가기

Develop/SQL

MySql - replace into 및 DUPLICATE 기능


위 함수는 오라클(Oracle)에 Merge into 와 비슷한 기능을 한다.

replace into 는 있으면 insert 없으면 update를 하는데
update할때 하나의 컬럼에만 update를 하고 싶은데 그게 안되는거 같다.
다른 컬럼들에게 영향을 미쳐서 .. 하나의 컬럼만 update 하려고 하면 다른 값들은 빈값이 되어버린당..
실제로는 해당 컬럼을 삭제한후에 INSERT 하다보니 부하가 있을수도 있다고 한다.
ex) replace into table_name set 'aa'='aa', 'bb'='bb'

on duplicate key는 오라클의 merge into 와 같은 기능을 하는거 같다.
update하고 싶은 컬럼에만 update해주면 다른 컬럼들에게는 영향을 안미친다..^^
ex)
insert into table_name (aa, bb) values ('aa','bb')
ON DUPLICATE KEY
update aa = 'cc'