고유 필드가 포함된 데이터베이스에 레코드를 삽입할 때 중복 항목이 발생하는 것이 일반적입니다. 오류. 이러한 오류는 새 레코드만 삽입해야 하는 일괄 삽입 작업을 방해할 수 있습니다.
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이 있으면 이전 레코드가 삭제되고 새 레코드가 삭제됩니다. 삽입되었습니다.
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'로 업데이트됩니다.
열 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!