Kod Błędu: 1062. Duplicate entry ' 1 'for key 'PRIMARY'
Mam problem z tym Komunikatem o błędzie, kiedy próbuję tego:
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', '[email protected]', 'Bolzanoturismo.it', 'Bolzano', 'BZ')
Kod Błędu: 1062. Duplicate entry ' 1 'for key 'PRIMARY'
Nie mam danych auto_increment, proszę o pomoc!
Jest to tabela powiązana, UFFICIO-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
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', '[email protected]', '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', '[email protected]', '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', '[email protected]', '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', '[email protected]', '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, '[email protected]', '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', '[email protected]', 'Ortisei.it', 'Ortisei', 'BZ');
8 answers
Głównym powodem wygenerowania błędu jest fakt, że istnieje już wartość 1
dla kolumnyID
, w której zdefiniujesz go jako PRIMARY KEY
(wartości są unikalne ) W wstawianej tabeli.
Dlaczego nie ustawić kolumny ID
jako AUTO_INCREMENT
?
CREATE TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`viale` VARCHAR(45) NULL ,
.....
I kiedy wstawiasz rekord, możesz teraz pominąć kolumnę ID
INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...)
VALUES ('Viale Cogel ', '120', ...)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-31 14:42:32
Jeśli używasz PHPMyAdmin Możesz rozwiązać ten problem, wykonując to:
Uwaga: nie używaj tego rozwiązania, jeśli chcesz zachować istniejące rekordy w tabeli.
Krok 1: Wybierz metodę eksportu bazy danych do niestandardowego:
Krok 2: przed wstawieniem w opcjach tworzenia danych upewnij się, że sprawdzisz truncate table:
Teraz możesz pomyślnie zaimportować tę bazę danych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 06:11:54
Jeśli próbujesz wypełnić tabelę z Zrzutu SQL, upewnij się, że tabela wymieniona w poleceniach "INSERT INTO" zrzutu jest tą samą tabelą, którą próbujesz wypełnić. Otwarcie "MyTable" i importowanie za pomocą zrzutu SQL spowoduje dokładnie taki błąd, jeśli zrzut próbuje umieścić wpisy w "MyOtherTable", które mogą już mieć wpisy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-29 14:24:47
Jeśli masz nową bazę danych i dokonujesz świeżo czystego importu, problem może wynikać z wstawiania danych, które zawierają przyrost "0", a to przekształci się w " 1 " z AUTO_INCREMENT
i spowoduje ten błąd.
Moim rozwiązaniem było użycie w pliku importu sql.
SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO';
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-06 00:13:18
Problem jest związany z Twoim plikiem - próbujesz utworzyć DB za pomocą kopii-na górze Pliku znajdziesz coś takiego:
Tworzenie bazy danych jeśli nie istnieje *THE_NAME_OF_YOUR_DB*
domyślny zestaw znaków latin1 zestawianie latin1_general_ci;
Użycie *THE_NAME_OF_YOUR_DB*
;
I jestem pewien, że masz już DB o tej nazwie - na tym samym serwerze-sprawdź. Po prostu zmień nazwę lub Wymaż tę linię!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-25 09:24:32
Kiedy dostaję tego rodzaju błąd musiałem zaktualizować typ danych o wycięcie. Na przykład, jeśli mam go jako "tiny int" zmień go na " small int" ~ Nita
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-03 15:26:00
Właśnie natknąłem się na ten sam problem, ale tutaj wydawało się, że wynika to z faktu, że zadeklarowałem kolumnę ID jako niepodpisaną i że w połączeniu z wartością ID '0' (zero) spowodowało, że import nie powiódł się...
Więc zmieniając wartość każdego ID (PK-column), który zadeklarowałem '0' i każdy odpowiadający FK na nową wartość, mój problem został rozwiązany.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-13 14:03:59
Sprawdź też swoje wyzwalacze.
Napotkał to przy użyciu wyzwalacza tabeli historii, który próbował wstawić główną tabelę id
do tabeli historii id
zamiast prawidłowej hist-table
.source_id
kolumna.
Instrukcja aktualizacji w ogóle nie dotykała Kolumny id
, więc znalezienie jej zajęło trochę czasu:
UPDATE source_table SET status = 0;
WYZWALACZ próbował zrobić coś podobnego do tego:
FOR EACH ROW
BEGIN
INSERT INTO `history_table` (`action`,`id`,`status`,`time_created`)
VALUES('update', NEW.id, NEW.status, NEW.time_created);
END;
Został poprawiony do czegoś takiego:
FOR EACH ROW
BEGIN
INSERT INTO `history_table` (`action`,`source_id`,`status`,`time_created`)
VALUES('update', NEW.id, NEW.status, NEW.time_created);
END;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-23 16:56:09