> 백엔드 개발 > PHP 튜토리얼 > MySQL에 데이터를 삽입할 때 중복 항목을 처리하는 방법은 무엇입니까?

MySQL에 데이터를 삽입할 때 중복 항목을 처리하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-31 02:48:02
원래의
365명이 탐색했습니다.

How to Handle Duplicate Entries When Inserting Data into MySQL?

MySQL - 삽입 시 중복 항목 처리>

고유 필드가 포함된 데이터베이스에 레코드를 삽입할 때 중복 항목이 발생하는 것이 일반적입니다. 오류. 이러한 오류는 새 레코드만 삽입해야 하는 일괄 삽입 작업을 방해할 수 있습니다.

Insert with Ignore

MySQL은 INSERT...IGNORE 구문을 제공합니다. 중복된 항목이 발견될 때 오류를 생성하지 않고 삽입을 진행할 수 있습니다. 예:

INSERT IGNORE INTO tbl (id, name) VALUES (1, 'John Doe');
로그인 후 복사

id=1인 항목이 이미 존재하는 경우 새 행을 삽입하지 않고도 명령문이 성공적으로 실행됩니다.

바꾸기

REPLACE INTO 구문은 기존 레코드를 동일한 기본 키를 가진 새 레코드로 덮어씁니다. 이는 최신 데이터가 테이블에 저장되어 있는지 확인하려는 경우 유용할 수 있습니다.

REPLACE INTO tbl (id, name) VALUES (1, 'Jane Doe');
로그인 후 복사

이 경우 id=1이 있으면 이전 레코드가 삭제되고 새 레코드가 삭제됩니다. 삽입되었습니다.

ON DUPLICATE KEY UPDATE로 삽입

INSERT...ON DUPLICATE KEY UPDATE 구문을 사용하면 중복 항목이 있는 경우 수행할 작업을 지정할 수 있습니다. 발생합니다. 예를 들어 기존 레코드를 업데이트할 수 있습니다.

INSERT INTO tbl (id, name) VALUES (1, 'Alice Smith') ON DUPLICATE KEY UPDATE name = 'Alice Smith';
로그인 후 복사

id=1인 경우 기존 레코드 이름이 'Alice Smith'로 업데이트됩니다.

예< /h4>

열 ID와 값이 있고 하나의 행(1, 1)을 포함하는 tbl이라는 테이블을 생각해 보세요.

  • REPLACE:

    REPLACE INTO tbl VALUES (1, 50);
    로그인 후 복사

    결과: (1, 50)(기존 기록 대체)

  • INSERT IGNORE:

    INSERT IGNORE INTO tbl VALUES (1, 10);
    로그인 후 복사

    결과: 변경 없음(중복 항목 무시)

  • INSERT WITH ON DUPLICATE KEY 업데이트:

    INSERT INTO tbl VALUES (1, 200) ON DUPLICATE KEY UPDATE value = 200;
    로그인 후 복사

    결과: (1 , 200) (기존 기록 업데이트)

위 내용은 MySQL에 데이터를 삽입할 때 중복 항목을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿