Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich beim Einfügen von Daten den Fehlercode „1062. Doppelter Eintrag „1' für den Schlüssel „PRIMARY'?

Warum erhalte ich beim Einfügen von Daten den Fehlercode „1062. Doppelter Eintrag „1' für den Schlüssel „PRIMARY'?

DDD
DDDOriginal
2024-10-31 08:01:01914Durchsuche

Why Am I Getting

Fehler beim doppelten Primärschlüssel: Behebung von „Fehlercode: 1062. Doppelter Eintrag „1“ für Schlüssel „PRIMARY““

Beim Versuch Wenn Sie Daten in eine Tabelle einfügen, wird möglicherweise die Fehlermeldung „Fehlercode: 1062. Doppelter Eintrag „1“ für Schlüssel „PRIMARY““ angezeigt. Dieser Fehler bedeutet, dass Sie versuchen, einen doppelten Wert in eine Spalte einzufügen, die als definiert ist Primärschlüssel.

In Ihrem Fall liegt das Problem in der Tabelle PROGETTO.UFFICIO-INFORMAZIONI. Der Primärschlüssel für diese Tabelle ist als ID definiert. Sie haben den Wert von ID in Ihrer INSERT-Anweisung explizit als 1 angegeben:

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

Dieser Wert ist jedoch bereits in der Tabelle vorhanden. Da Primärschlüssel für jeden Datensatz eindeutig sind, können Sie keinen doppelten Wert einfügen.

Lösung: Automatische Inkrementierung verwenden

Die empfohlene Lösung zur Vermeidung doppelter Primärschlüsselfehler ist um die automatische Inkrementierung für die ID-Spalte zu verwenden. Dies bedeutet, dass die Datenbank beim Einfügen automatisch eindeutige Werte für die ID-Spalte generiert. Um die automatische Inkrementierung zu aktivieren, ändern Sie die Tabellendefinition wie folgt:

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

Sobald Sie die automatische Inkrementierung aktiviert haben, können Sie die ID-Spalte in Ihren INSERT-Anweisungen weglassen:

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

Durch die Verwendung der automatischen Inkrementierung weist die Datenbank der ID-Spalte automatisch einen eindeutigen Wert zu und stellt so sicher, dass keine Fehler durch doppelte Schlüssel auftreten.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Einfügen von Daten den Fehlercode „1062. Doppelter Eintrag „1' für den Schlüssel „PRIMARY'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn