옛날 창고/SQL

[MySQL] Mysql Merge into

Dev JS 2020. 12. 30. 19:06
728x90

[MySQL] Mysql Merge into

 

Mysql 에는 Merge into를 지원하지 않는다.

그렇다면 UPDATE 와 INSERT를 한번에 할수 없는가..?

아니다.

 

다른 기능이 있다.

 

 

기본적인 INSERT 문에서 변형만 해주면 된다.

(col -컬럼명 , val - 입력값)

 

INSERT INTO TABLE (col1,col2,col3)

VALUES('val1','val2', 'val3') 

ON DUPLICATE KEY UPDATE

col2 = 'val4', col3 = 'val4';

 

로 사용이 가능하다.

 

여기서 중요한건 col1, col2, col3 중

Primary Key(PK) 가 있어야 한다.

 

Key가 중복 될경우 UPDATE 를 하고

Key가 중복되지 않을 경우 insert를 하기 때문이다.

 

테이블에 PK가 없을 경우에는 쿼리문이 실행되지 못한다.

728x90