집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 INSERT ... ON DUPLICATE KEY UPDATE가 어떻게 삽입 및 업데이트를 효율적으로 처리할 수 있습니까?
MySQL의 효율적인 Upsert: INSERT ... ON 중복 키 업데이트
MySQL은 키 존재 여부에 따라 새 행을 삽입하거나 기존 행을 업데이트해야 하는 상황에 자주 직면합니다. upsert(또는 병합)로 알려진 이 결합 작업은 단일 문을 사용하여 MySQL에서 우아하게 처리됩니다.
중복 키 업데이트 시 INSERT 활용...
여러 쿼리 대신 MySQL의 INSERT ... ON DUPLICATE KEY UPDATE
문을 사용하면 이 프로세스가 간소화됩니다. 구문은 간단합니다.
<code class="language-sql">INSERT INTO `table_name` (`column1`, `column2`, ...) VALUES (`value1`, `value2`, ...) ON DUPLICATE KEY UPDATE `column1` = `value1`, `column2` = `value2`, ...</code>
실용적 적용: 사용 횟수 증가
usage
, thing_id
, times_used
열이 있는 first_time_used
테이블을 상상해 보세요. 목표는 행이 존재하는 경우 주어진 times_used
에 대해 thing_id
을 늘리는 것입니다. 그렇지 않으면 새 행을 삽입하세요.
이 작업은 INSERT ... ON DUPLICATE KEY UPDATE
:
<code class="language-sql">INSERT INTO `usage` (`thing_id`, `times_used`, `first_time_used`) VALUES (4815162342, 1, NOW()) ON DUPLICATE KEY UPDATE `times_used` = `times_used` + 1</code>
이 쿼리는 두 시나리오를 모두 지능적으로 처리합니다. thing_id
4815162342가 존재하면 times_used
이 증가합니다. 그렇지 않으면 지정된 값으로 새 행이 추가됩니다. 이는 MySQL upsert 기능의 효율성과 간결성을 보여줍니다.
위 내용은 MySQL의 INSERT ... ON DUPLICATE KEY UPDATE가 어떻게 삽입 및 업데이트를 효율적으로 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!