Programming/MySQL

[MySQL] 특정 값이 없으면 Insert하고 있으면 Update하기

momo02 2018. 8. 30. 16:37
반응형

INSERT INTO TB_TEST

( TRST_NO   -- 거래번호(PK)

,TRST_DATE -- 거래일자(PK)

,ORDER_NO  

,STATUS_CD 

,PAY_MONEY 

)

VALUES 

(       'T0001'

,'20180629'

,'12345'

        ,'C'

,10000

)

ON DUPLICATE KEY

UPDATE 

 ORDER_NO = '12345'

,STATUS_CD = 'C'

,PAY_MONEY = 10000


테이블에 기본키(Primary Key)인 TRST_NOTRST_DATE가 동일한 값이 이미 존재한다면 

(테이블에 TRST_NO가 'T0001' 이고 TRST_DATE가 '20180629' 인 데이터가 이미 존재한다면

UPDATE문을 수행하고, 그렇지 않다면 INSERT문을 수행한다. 


구문 >>> INSERT 문 + ON DUPLICATE KEY + UPDATE 문 


- Oracle의 MERGE INTO 구문과 비슷.


* 주의할 점은 UPDATE문에는 SET을 쓰지않는다!! 

반응형