> 데이터 베이스 > MySQL 튜토리얼 > MySQL 오류 1062 수정 방법: 기본 키에 대한 중복 항목 '0'?

MySQL 오류 1062 수정 방법: 기본 키에 대한 중복 항목 '0'?

Patricia Arquette
풀어 주다: 2024-12-29 07:53:14
원래의
574명이 탐색했습니다.

How to Fix MySQL Error 1062: Duplicate Entry '0' for Primary Key?

MySQL 오류 문제 해결: 기본 키에 대한 중복 항목 '0'

MySQL에서 momento_distribution 테이블의 기본 키를 수정하려고 할 때 오류가 발생했습니다. 오류 메시지 "1062 - 'PRIMARY' 키에 대한 '0' 중복 항목"은 새 기본 키 열에 중복 값이 ​​포함되어 있음을 나타냅니다.

분석

검사 결과 새로 생성된 id 열은 모든 행에서 '0' 값을 갖습니다. 이러한 충돌은 중복 레코드 존재로 인한 고유한 기본 키 할당을 방지합니다.

해결 방법

이 문제를 해결하려면 기본 키 열에 고유한 값이 포함되어 있는지 확인해야 합니다. 가장 일반적인 접근 방식은 열을 자동 증가시켜 각각의 새 행에 대해 고유한 값을 자동으로 생성하는 것입니다.

테이블 생성 수정:

CREATE TABLE `momento_distribution`
  (
     `momento_id`       INT(11) NOT NULL AUTO_INCREMENT,
     `momento_idmember` INT(11) NOT NULL,
     `created_at`       DATETIME DEFAULT NULL,
     `updated_at`       DATETIME DEFAULT NULL,
     `unread`           TINYINT(1) DEFAULT '1',
     `accepted`         VARCHAR(10) NOT NULL DEFAULT 'pending',
     `ext_member`       VARCHAR(255) DEFAULT NULL,
     PRIMARY KEY (`momento_id`, `momento_idmember`),
     KEY `momento_distribution_FI_2` (`momento_idmember`),
     KEY `accepted` (`accepted`, `ext_member`)
  )
ENGINE=InnoDB
DEFAULT CHARSET=latin1$$
로그인 후 복사

기존 수정 테이블:

ALTER TABLE `momento_distribution`
  CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT,
  DROP PRIMARY KEY,
  ADD PRIMARY KEY (`id`);
로그인 후 복사

참고: 이는 id 열이 이미 존재한다고 가정합니다. 그렇지 않은 경우 ALTER 문을 사용하여 생성해야 합니다.

위 내용은 MySQL 오류 1062 수정 방법: 기본 키에 대한 중복 항목 '0'?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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