>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 ON DUPLICATE KEY UPDATE를 사용하여 대량 삽입을 수행하는 방법은 무엇입니까?

MySQL에서 ON DUPLICATE KEY UPDATE를 사용하여 대량 삽입을 수행하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-11 07:14:42715검색

How to Perform Bulk Inserts with ON DUPLICATE KEY UPDATE in MySQL?

MySQL 일괄 삽입 및 ON DUPLICATE KEY UPDATE에 대한 자세한 설명

MySQL에서 여러 행의 데이터를 동시에 삽입하는 경우 고유 키에 중복된 값이 있는지 확인하고 상황에 따라 업데이트 또는 삽입 작업을 수행해야 할 수 있습니다.

이를 위해 ON DUPLICATE KEY UPDATE 절을 사용할 수 있습니다. 그러나 다중 행 데이터의 경우 구현 방법은 MySQL 버전에 따라 다릅니다.

MySQL 8.0.19 이상

버전 8.0.19 이상에서는 별칭을 사용하여 업데이트할 행을 식별할 수 있습니다.

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)
AS new
ON DUPLICATE KEY UPDATE
  age = new.age
  ...</code>

MySQL 8.0.19 이하

이전 버전의 경우 VALUES 키워드를 사용하여 업데이트할 행의 값을 지정할 수 있습니다.

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)
ON DUPLICATE KEY UPDATE
  age = VALUES(age),
  ...</code>

위 방법을 사용하면 단일 쿼리를 사용하여 일괄 업데이트 또는 삽입 작업을 수행하여 데이터 무결성을 보장하고 필요한 경우 기존 행을 업데이트하고 새 행을 삽입할 수 있습니다.

위 내용은 MySQL에서 ON DUPLICATE KEY UPDATE를 사용하여 대량 삽입을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.