MySQL

MySQL_ON DUPLICATE KEY UPDATE

ssmm95 2024. 9. 10. 11:37

ON DUPLICATE KEY UPDATE : 조건부 데이터 입력, 변경

INSERT의 다양한 방식

ON DUPLICATE KEY UPDATE PK(Primary Key)가 중복되지 않으면 일반 INSERT가 되는 것이고,

PK가 중복되면 그 뒤의 UPDATE문이 수행된다

즉, 새로운 데이터를 삽입하려고 할 때, 이미 존재하는 데이터와 중복된 키가 있을 경우, 데이터를 갱신하는 방식이다

 

데이터를 삽입하거나 업데이트해야 하는 상황에서, 중복된 키에 의한 에러를 사전에 방지하고 싶을 때 사용

 

동작 방식:

  1. INSERT 시도: 데이터가 테이블에 삽입됩니다.
  2. 중복된 키가 있는 경우: 만약 삽입하려는 데이터의 (Primary Key 또는 Unique Key)가 이미 존재하면, ON DUPLICATE KEY UPDATE 절이 실행되어 해당 행이 업데이트됩니다.
  3. 중복된 키가 없는 경우: 데이터가 정상적으로 삽입됩니다.