아무거나

[mysql] UPSERT(INSERT ON DUPLICATE KEY UPDATE) 본문

Data Store/DB

[mysql] UPSERT(INSERT ON DUPLICATE KEY UPDATE)

전봉근 2019. 1. 16. 22:31
반응형

    UPSERT(INSERT ON DUPLICATE KEY UPDATE): 동일한 key값이 존재한다면 UPDATE를 하고 존재하지 않는다면 INSERT를 한다. (단, INSERT 구문이므로 AUTO_INCREMENT 값은 증가한다)

    • Table Sample Data 


    • Example Code

      // UNIQUE 값: login_id
      // login_id인 jbk값이 존재하므로 아래 코드는 update가 실행된다.
      INSERT INTO user 
          (active, login_id, user_name, `password`)
      VALUES
          (3, 'jbk', 'insert_name', 'insert_$2a$10$2Rbln4H8JGnnQnqKwvNBEAlX6')
      ON DUPLICATE KEY UPDATE 
          active=4, user_name='duplicate_jbk', `password`='duplicate_update';
      


반응형
Comments