옛날 창고/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