집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 Upsert를 효율적으로 수행하려면 어떻게 해야 합니까?
MySQL Upsert 작업: 존재하면 업데이트하고 존재하지 않으면 삽입
질문:
MySQL에서 "Upsert" 작업(즉, 존재하지 않는 경우 새 행을 삽입하고 존재하는 경우 기존 행을 업데이트)을 수행하는 효율적인 방법이 있습니까?
정답:
예, MySQL은 이 기능을 구현하기 위해 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>
지침:
INSERT INTO
절은 지정된 값을 가진 새 행을 삽입하려고 시도합니다. ON DUPLICATE KEY UPDATE
절은 고유 키 충돌이 발생할 경우(즉, 동일한 thing_id
행이 이미 존재하는 경우) 어떻게 해야 하는지 정의합니다. times_used
열에 1을 추가하여 기존 행을 업데이트합니다. 장점:
위 내용은 MySQL에서 Upsert를 효율적으로 수행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!