programing

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

minimums 2023. 8. 26. 10:39
반응형

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

다음 오류 메시지에 문제가 있습니다.

INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`,  
`data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, 
`telefono`, `mail`, `web`, `Nome-paese`, `Comune`) 
VALUES (1, 'Viale Cogel ', '120', '2012-05-21', '2012-09-30', '08:00', '23:30',
'461801243', 'informazioni@bolzano.it', 'Bolzanoturismo.it', 'Bolzano', 'BZ')

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

auto_increment 데이터가 없습니다. 도와주세요!

이것은 관련된 표, UFICIO-INFORMAZIONI입니다.

CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL ,
  `viale` VARCHAR(45) NULL ,
  `num_civico` VARCHAR(5) NULL ,
  `data_apertura` DATE NULL ,
  `data_chiusura` DATE NULL ,
  `orario_apertura` TIME NULL ,
  `orario_chiusura` TIME NULL ,
  `telefono` VARCHAR(15) NULL ,
  `mail` VARCHAR(100) NULL ,
  `web` VARCHAR(100) NULL ,
  `Nome-paese` VARCHAR(45) NOT NULL ,
  `Comune` CHAR(2) NOT NULL ,
  PRIMARY KEY (`ID`) ,
  INDEX `Nome_paese` (`Nome-paese` ASC) ,
  INDEX `Comune` (`Comune` ASC) ,
  CONSTRAINT `Nome_paese`
    FOREIGN KEY (`Nome-paese` )
    REFERENCES `PROGETTO`.`PAESE` (`Nome-paese` )
    ON DELETE NO ACTION
    ON UPDATE CASCADE,
  CONSTRAINT `Comune`
    FOREIGN KEY (`Comune` )
    REFERENCES `PROGETTO`.`PAESE` (`Comune` )
    ON DELETE NO ACTION
    ON UPDATE CASCADE)
ENGINE = InnoDB

삽입 위치

INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`) VALUES (1, 'Viale Cogel ', '120', '2012-05-21', '2012-09-30', '08:00', '23:30', '461801243', 'informazioni@bolzano.it', 'Bolzanoturismo.it', 'Bolzano', 'BZ');
    INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`) VALUES (2, 'Via Olmo', '45', '2012-05-01', '2012-09-30', '08:00', '23:30', '393495169301', 'informazioni@lech.it', 'Lechinformation.it', 'Lech', 'BZ');
    INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`) VALUES (3, 'Via Quercia', '37', '2012-05-11', '2012-09-30', '08:00', '23:30', '393381679321', 'info@trento.it', 'Trentoinformaiozni.it', 'Trento', 'TN');
    INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`) VALUES (4, 'Via Atene', '76', '2012-06-01', '2012-09-15', '08:00', '23:30', '39349361345', 'info@sanmartinodicastrozza.it', 'SanMartino.it', 'San Martino di Castrozza', 'TN');
    INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`) VALUES (5, 'Via Salice', '45', '2012-05-01', '2012-09-20', '08:00', '23:30', NULL, 'info@pejo.it', 'Pejoturismo.it', 'Pejo', 'TN');
    INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`) VALUES (6, 'Piazza Sempreverde', '34', '2012-05-15', '2012-09-15', '08:00', '23:30', '392516789', 'info@ortisei.it', 'Ortisei.it', 'Ortisei', 'BZ');

본의 오류가 생성된 이유는 의 기존 값이 이미 있기 때문입니다.1그 칼럼에.ID당신이 그것을 정의하는 곳에서.PRIMARY KEY(은 고유합니다).

열을 설정하는 것이 어떻습니까?ID~하듯이AUTO_INCREMENT?

CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
   .....

레코드를 삽입할 때 이제 열을 건너뛸 수 있습니다.ID

INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...) 
VALUES ('Viale Cogel ', '120', ...)

PHP MyAdmin을 사용하는 경우 다음을 수행하여 이 문제를 해결할 수 있습니다.

주의: 테이블의 기존 레코드를 유지 관리하려면 이 솔루션을 사용하지 마십시오.

1단계: 사용자 지정할 데이터베이스 내보내기 방법 선택:

enter image description here

2단계: 데이터 생성 옵션에 삽입하기 전에 잘라내기 테이블을 확인하십시오.

enter image description here

이제 이 데이터베이스를 성공적으로 가져올 수 있습니다.

새 데이터베이스가 있고 새로 새로 가져온 경우 '0' 증분이 포함된 데이터를 삽입하는 것에서 문제가 발생할 수 있으며 이는 다음과 같이 '1'로 변환됩니다.AUTO_INCREMENT이 오류를 발생시킵니다.

나의 해결책은 sql import 파일에서 사용하는 것이었습니다.

SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO';

SQL 덤프에서 테이블을 채우려는 경우 덤프의 "INSERT INTO" 문에 나열된 테이블이 채우려는 테이블과 동일한지 확인합니다."MyTable"을 열고 SQL 덤프를 사용하여 가져오면 덤프가 이미 항목이 있을 수 있는 "MyOtherTable"에 항목을 넣으려고 할 때 정확하게 해당 오류가 발생합니다.

트리거도 확인합니다.

기본 테이블을 삽입하려는 기록 테이블 트리거에서 이 문제가 발생했습니다.id역사의 표에.id정확한 대신에hist-table.source_id기둥.

업데이트 문이 에 닿지 않았습니다.id열을 찾는 데 약간의 시간이 걸렸습니다.

UPDATE source_table SET status = 0;

트리거가 다음과 유사한 작업을 시도했습니다.

FOR EACH ROW
BEGIN
    INSERT INTO `history_table` (`action`,`id`,`status`,`time_created`)
    VALUES('update', NEW.id, NEW.status, NEW.time_created);
END;

다음과 같은 것으로 수정되었습니다.

FOR EACH ROW
BEGIN
    INSERT INTO `history_table` (`action`,`source_id`,`status`,`time_created`)
    VALUES('update', NEW.id, NEW.status, NEW.time_created);
END;

파일과 관련된 문제입니다. 복사본을 사용하여 DB를 작성하려고 하면 파일 상단에 다음과 같은 내용이 표시됩니다.

데이터베이스가 없는 경우 데이터베이스 만들기*THE_NAME_OF_YOUR_DB* 집합 USE 문 집 latin1colate latin1_general_ci; 사*THE_NAME_OF_YOUR_DB*;

그리고 같은 서버에 이미 이 이름의 DB가 있을 것입니다. 확인해 주십시오.이름을 변경하거나 이 줄을 지우십시오!

이러한 오류가 발생했을 때 데이터 유형을 한 단계 더 업데이트해야 했습니다.예를 들어, "tiny int"로 설정된 경우 "small int" ~ 니타로 변경합니다.

방금 동일한 문제가 발생했지만, 여기서 ID 열을 UN 서명되지 않은 상태로 선언하고 ID 값 '0'(0)과 결합하여 가져오기가 실패했기 때문인 것 같습니다.

그래서 제가 '0'이라고 선언한 모든 ID(PK-column)와 해당하는 모든 FK의 값을 새로운 값으로 변경함으로써 제 문제는 해결되었습니다.

MySQL Workbench 가져오기/내보내기 사용

MySQL Workbench Data Export 사용 시 op과 동일한 오류가 발생하였습니다.수동으로 특정 테이블을 한 로컬 장치에서 다른 장치로 이동했습니다. 두 장치 모두 MySQLWB가 있습니다.

실패: 데이터 전용 내보내기

가져올 때 다음과 같은 오류가 발생합니다.ERROR 1062 (23000) at line 83: Duplicate entry '' for key...

작업: 구조 및 데이터 내보내기

다른 변경 사항은 없습니다. 다른 모든 사항은 그대로 유지됩니다.

테이블 및 드롭 테이블의 데이터를 내보냅니다.

DROP TABLE table_name;

언급URL : https://stackoverflow.com/questions/14628269/error-code-1062-duplicate-entry-1-for-key-primary

반응형