>  기사  >  데이터 베이스  >  MySQL에서 \"기본 키에 대한 중복 항목\" 오류(코드 1062)가 발생하는 이유는 무엇입니까?

MySQL에서 \"기본 키에 대한 중복 항목\" 오류(코드 1062)가 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 12:42:01619검색

Why am I getting a

MySQL 오류: 기본 키에 대한 중복 항목

오류 코드: 1062. 'PRIMARY' 키에 대한 중복 항목 '1'

문제:

UFFICIO-INFORMAZIONI 테이블에 새 행을 삽입하려고 하면 기본 키 값 '1'에 대해 중복된 항목이 있다는 오류가 표시됩니다.

설명:

기본 키는 테이블의 열 또는 열 집합에 대한 고유 제약 조건입니다. 각 행에 고유한 식별자가 있는지 확인합니다. 귀하의 경우 ID 열은 기본 키로 정의됩니다. 즉, 두 행이 ID 열에 대해 동일한 값을 가질 수 없음을 의미합니다.

원인:

테이블에 이미 존재하는 ID 값을 가진 새 행을 삽입하려고 하기 때문에 오류가 발생합니다. 동일한 기본 키 값을 가진 두 개의 행이 있을 수 없으므로 이는 기본 키 제약 조건을 위반합니다.

해결책:

이 문제에 대한 가능한 해결 방법은 두 가지가 있습니다.

  1. 자동 증가 사용: ID 열을 자동 증가 열로 변경합니다. 이렇게 하면 데이터베이스가 각 새 행에 대해 고유 ID 값을 자동으로 생성할 수 있으므로 ID 값을 명시적으로 지정할 필요가 없습니다.
  2. 고유 ID 값 지정: 원하지 않는 경우 자동 증가를 사용하려면 각각의 새 행에 대해 지정하는 ID 값이 고유한지 확인해야 합니다. 고유한 ID 값을 생성하거나 UUID(Universally Unique Identifier) ​​라이브러리를 사용할 수 있습니다.

예:

MySQL에서 자동 증가를 사용하려면, 테이블 생성 문을 다음과 같이 수정하세요.

<code class="sql">CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
   .....</code>

이렇게 하면 테이블에 삽입된 새 행마다 자동으로 증가하는 ID 열이 생성됩니다. 그러면 새 행을 삽입할 때 ID 값을 생략할 수 있습니다.

<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...)
VALUES ('Viale Cogel ', '120', ...)</code>

위 내용은 MySQL에서 \"기본 키에 대한 중복 항목\" 오류(코드 1062)가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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