Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich „Fehlercode: 1062. Fehler bei doppelter Eingabe: Lösung des Problems mit der „ID'-Spalte'?

Warum erhalte ich „Fehlercode: 1062. Fehler bei doppelter Eingabe: Lösung des Problems mit der „ID'-Spalte'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 22:57:29889Durchsuche

Why am I getting

Fehlercode: 1062. Fehler bei doppelter Eingabe: Lösung des Problems mit der Spalte „ID“

Der aufgetretene Fehler „Fehlercode: 1062. Doppelter Eintrag „1“ für Schlüssel „PRIMARY“ weist auf einen Wertekonflikt innerhalb eines Primärschlüssels hin. Lassen Sie uns in die Tabelle eintauchen und die Grundursache dieses Problems ermitteln:

UFICIO-INFORMAZIONI-Tabelle

Die bereitgestellte Tabelle umreißt die Spalten der UFFICIO-INFORMAZIONI-Tabelle, die Enthält „ID“, „viale“ und andere Attribute. Die Spalte „ID“ wird als Primärschlüssel bezeichnet und gibt an, dass ihre Werte für jede Zeile eindeutig sein müssen.

Die Ursache des Fehlers bei der doppelten Eingabe

Der Fehler entsteht, weil die Spalte „ID“ mit doppelten Einträgen definiert ist. In der von Ihnen angegebenen SQL-Anweisung:

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

Die Spalte „ID“ ist explizit auf „1“ gesetzt, was der Primärschlüsseleinschränkung widerspricht. Da der Primärschlüssel eindeutig sein muss, generiert die Datenbank den Fehler.

Lösung: Verwendung von AUTO_INCREMENT

Um dieses Problem zu beheben, sollten Sie die Spalte „ID“ auf AUTO_INCREMENT festlegen . Dadurch generiert die Datenbank bei Einfügevorgängen automatisch eindeutige Werte für die Spalte „ID“ und stellt so die Integrität des Primärschlüssels sicher.

Hier ist die geänderte Tabellendefinition mit 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>

Einfügen von Datensätzen ohne Angabe von „ID“

Beim Einfügen von Datensätzen mit aktiviertem AUTO_INCREMENT können Sie die Angabe der Spalte „ID“ in der SQL-Anweisung überspringen. Die Datenbank weist jeder Zeile automatisch eine eindeutige ID zu.

Zum Beispiel:

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

Indem Sie das Problem doppelter Einträge beheben und AUTO_INCREMENT implementieren, können Sie das reibungslose Einfügen von Datensätzen in das UFFICIO sicherstellen -INFORMAZIONI-Tabelle.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Fehlercode: 1062. Fehler bei doppelter Eingabe: Lösung des Problems mit der „ID'-Spalte'?. 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