Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum erhalte ich in MySQL den Fehler „Doppelter Eintrag für Primärschlüssel' (Code 1062)?

Barbara Streisand
Freigeben: 2024-10-31 12:42:01
Original
615 Leute haben es durchsucht

Why am I getting a

MySQL-Fehler: Doppelter Eintrag für Primärschlüssel

Fehlercode: 1062. Doppelter Eintrag „1“ für Schlüssel „PRIMARY“

Problem:

Beim Versuch, eine neue Zeile in die UFFICIO-INFORMAZIONI-Tabelle einzufügen, erhalten Sie eine Fehlermeldung, dass ein doppelter Eintrag für den Primärschlüsselwert „1“ vorhanden ist.

Erklärung:

Der Primärschlüssel ist eine eindeutige Einschränkung für eine Spalte oder einen Satz von Spalten in einer Tabelle. Es stellt sicher, dass jede Zeile eine eindeutige Kennung hat. In Ihrem Fall ist die ID-Spalte als Primärschlüssel definiert, was bedeutet, dass keine zwei Zeilen den gleichen Wert für die ID-Spalte haben können.

Ursache:

Der Fehler wird ausgelöst, weil Sie versuchen, eine neue Zeile mit einem ID-Wert einzufügen, der bereits in der Tabelle vorhanden ist. Dies verstößt gegen die Primärschlüsselbeschränkung, da es nicht zwei Zeilen mit demselben Primärschlüsselwert geben kann.

Lösung:

Es gibt zwei mögliche Lösungen für dieses Problem:

  1. Auto-Inkrementierung verwenden: Ändern Sie die ID-Spalte in eine automatisch inkrementierende Spalte. Dadurch kann die Datenbank automatisch eindeutige ID-Werte für jede neue Zeile generieren, sodass der ID-Wert nicht explizit angegeben werden muss.
  2. Geben Sie einen eindeutigen ID-Wert an: Wenn Sie dies nicht möchten Wenn Sie die automatische Inkrementierung verwenden, müssen Sie sicherstellen, dass der ID-Wert, den Sie für jede neue Zeile angeben, eindeutig ist. Sie können Ihre eigenen eindeutigen ID-Werte generieren oder eine UUID-Bibliothek (Universally Unique Identifier) ​​verwenden.

Beispiel:

Um die automatische Inkrementierung in MySQL zu verwenden, Ändern Sie die Anweisung zur Tabellenerstellung wie folgt:

<code class="sql">CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
   .....</code>
Nach dem Login kopieren

Dadurch wird eine ID-Spalte erstellt, die automatisch für jede neue in die Tabelle eingefügte Zeile erhöht wird. Sie können den ID-Wert dann beim Einfügen neuer Zeilen weglassen.

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

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL den Fehler „Doppelter Eintrag für Primärschlüssel' (Code 1062)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!