>  기사  >  데이터 베이스  >  \'오류 코드: 1062. 중복 항목 오류: \'ID\' 열 문제 해결\'이 나타나는 이유는 무엇입니까?

\'오류 코드: 1062. 중복 항목 오류: \'ID\' 열 문제 해결\'이 나타나는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 22:57:29887검색

Why am I getting

오류 코드: 1062. 중복 항목 오류: "ID" 열 문제 해결

오류가 발생했습니다. "오류 코드: 1062. 'PRIMARY' 키에 '1' 항목이 중복되었습니다."는 기본 키 내의 값이 충돌함을 의미합니다. 테이블을 자세히 살펴보고 이 문제의 근본 원인을 파악해 보겠습니다.

UFICIO-INFORMAZIONI 테이블

제공된 테이블에는 UFFICIO-INFORMAZIONI 테이블의 열이 요약되어 있습니다. 'ID', 'viale' 및 기타 속성이 포함됩니다. 'ID' 열은 기본 키로 지정되어 해당 값이 행마다 고유해야 함을 나타냅니다.

중복 입력 오류의 원인

오류 'ID' 열이 중복된 항목으로 정의되었기 때문에 발생합니다. 제공한 SQL 문에서:

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

'ID' 열이 명시적으로 '1'로 설정되어 있으며 이는 기본 키 제약 조건과 모순됩니다. 기본 키는 고유해야 하므로 데이터베이스에서 오류가 발생합니다.

해결 방법: AUTO_INCREMENT 활용

이 문제를 해결하려면 'ID' 열을 AUTO_INCREMENT로 설정하는 것이 좋습니다. . 이렇게 하면 데이터베이스가 삽입 작업 중에 'ID' 열에 대한 고유 값을 자동으로 생성하여 기본 키의 무결성을 보장합니다.

다음은 AUTO_INCREMENT를 사용하여 수정된 테이블 정의입니다.

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

'ID'를 지정하지 않고 레코드 삽입

AUTO_INCREMENT가 활성화된 레코드를 삽입하는 경우 SQL 문에서 'ID' 열 지정을 건너뛸 수 있습니다. 데이터베이스는 자동으로 각 행에 고유 ID를 할당합니다.

예:

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

중복 항목 문제를 해결하고 AUTO_INCREMENT를 구현하면 UFFICIO에 레코드를 원활하게 삽입할 수 있습니다. -INFORMAZIONI 테이블.

위 내용은 \'오류 코드: 1062. 중복 항목 오류: \'ID\' 열 문제 해결\'이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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