오류 코드: 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단계: 사용자 지정할 데이터베이스 내보내기 방법 선택:
2단계: 데이터 생성 옵션에 삽입하기 전에 잘라내기 테이블을 확인하십시오.
이제 이 데이터베이스를 성공적으로 가져올 수 있습니다.
새 데이터베이스가 있고 새로 새로 가져온 경우 '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
'programing' 카테고리의 다른 글
jQuery ajax 호출을 통해 django 뷰에 값 목록 전달 (0) | 2023.08.26 |
---|---|
MariaDB에 대한 InnoDB 전체 텍스트 스톱워드를 올바르게 비활성화하는 방법은 무엇입니까? (0) | 2023.08.26 |
my.cnf(Centos 8)의 mysql에 대한 최적의 설정(mariadb 최적화 10.5) (0) | 2023.08.21 |
Powershell 스크립트 내에서 7-Zip 실행 (0) | 2023.08.21 |
Sequence Pro: 홈브루를 통해 설치된 mariadb를 사용하여 '127.0.0.1'(61)의 MySQL 서버에 연결할 수 없습니다. (0) | 2023.08.21 |