집 >데이터 베이스 >MySQL 튜토리얼 >'unique_key_constraint' 키에 대한 중복 항목 - MySQL 오류 해결 방법: 고유 키 제약 조건 중복 레코드
MySQL 오류 해결 방법: 중복 레코드는 고유 키로 제한되어 있으므로 특정 코드 예제가 필요합니다.
MySQL 데이터베이스를 사용할 때 고유 키로 제한되는 중복 레코드 문제에 자주 직면합니다. 테이블에 데이터를 삽입하려고 할 때 동일한 고유 키 제약 조건이 있는 레코드가 있으면 "'unique_key_constraint' 키에 대한 중복 항목"이라는 오류 메시지가 나타납니다. 이 오류는 삽입하려는 레코드가 기존 레코드와 충돌하고 고유 키 제약 조건을 위반함을 나타냅니다.
그러면 이 오류가 발생하면 어떻게 해결해야 할까요? 아래에서는 몇 가지 일반적인 솔루션을 특정 코드 예제와 함께 소개합니다.
해결책 1: 중복 기록 삭제
가장 간단하고 직접적인 방법은 중복 기록을 삭제하는 것입니다. DELETE 문을 사용하여 충돌하는 레코드가 있는 중복 레코드를 삭제할 수 있습니다. 다음은 샘플 코드입니다.
DELETE FROM 表名 WHERE 唯一键列名 = '冲突值';
예를 들어 고유 키 제약 조건 열 "student_id"가 있는 "students"라는 테이블이 있고 이제 Student_id가 1001인 레코드를 삽입하려고 하는데 해당 레코드가 이미 존재합니다. . 다음 코드를 사용하여 충돌하는 기록을 삭제할 수 있습니다.
DELETE FROM students WHERE student_id = 1001;
해결책 2: 중복 기록 업데이트
중복 기록 삭제 외에도 중복 기록 업데이트도 고려할 수 있습니다. UPDATE 문을 사용하여 충돌하는 레코드가 중복된 레코드를 업데이트할 수 있습니다. 다음은 샘플 코드입니다.
UPDATE 表名 SET 列名1 = '新值1', 列名2 = '新值2', ... WHERE 唯一键列名 = '冲突值';
예를 들어, 고유 키 제약 조건 열 "username"이 있는 "users"라는 테이블이 있습니다. 이제 사용자 이름이 "admin"인 레코드를 삽입하려고 하지만 레코드는 다음과 같습니다. 이미 존재합니다. 다음 코드를 사용하여 충돌하는 레코드의 다른 필드 값을 업데이트할 수 있습니다:
UPDATE users SET password = 'newPassword' WHERE username = 'admin';
해결책 3: 중복 레코드 무시
중복 레코드를 삭제하거나 업데이트하고 싶지 않지만 삽입된 레코드는 무시하면 INSERT IGNORE 문을 사용할 수 있습니다. INSERT IGNORE 문은 레코드를 삽입할 때 고유 키 제약 조건과 충돌하는 레코드를 무시합니다. 다음은 샘플 코드입니다.
INSERT IGNORE INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
예를 들어 고유 키 제약 조건 열이 "order_number"인 "orders"라는 테이블에 레코드를 삽입하려고 합니다. 다음 코드를 사용하여 충돌하는 레코드의 삽입 작업을 무시할 수 있습니다.
INSERT IGNORE INTO orders (order_number, customer_id, total_amount) VALUES ('1001', '12345', '100.00');
요약하면 MySQL 오류 "'unique_key_constraint' 키에 대한 중복 항목"이 발생하면 중복 레코드를 삭제하거나, 중복 레코드를 업데이트하거나, 레코드 중복을 무시할 수 있습니다. 이 문제를 해결하기 위해. 상황에 따라 적절한 솔루션을 선택하고 위의 코드 예제를 사용하세요. 위 내용이 도움이 되었기를 바랍니다!
위 내용은 'unique_key_constraint' 키에 대한 중복 항목 - MySQL 오류 해결 방법: 고유 키 제약 조건 중복 레코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!