Heim >Datenbank >MySQL-Tutorial >MySQL-Fehler 1022: Wie löse ich doppelte Schlüsseleinschränkungen beim Erstellen einer Tabelle?

MySQL-Fehler 1022: Wie löse ich doppelte Schlüsseleinschränkungen beim Erstellen einer Tabelle?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-18 10:34:14305Durchsuche

MySQL Error 1022: How Do I Resolve Duplicate Key Constraints When Creating a Table?

MySQL-Fehler 1022: Doppelter Schlüssel in der Tabelle

Szenario:

Beim Versuch zu erstellen Wenn Sie eine Tabelle öffnen, stoßen Sie auf den verwirrenden Fehler 1022, der auf eine Verletzung der Duplicate-Key-Einschränkung hinweist. Trotz Überprüfung der Abfrage bleibt die Quelle der Duplizierung unklar.

Erklärung:

Obwohl in der Fehlermeldung ein doppelter Schlüssel in der Usercircle-Tabelle erwähnt wird, kann die Ursache darin liegen in einem anderen Teil des Datenbankschemas. Einschränkungen wie Fremdschlüssel- und eindeutige Schlüsseleinschränkungen müssen in der gesamten Datenbank eindeutig sein, nicht nur innerhalb einer einzelnen Tabelle.

Lösung:

  1. Doppelte Einschränkungen identifizieren:

    • Führen Sie die folgende Abfrage aus um herauszufinden, wo die Einschränkungen in der Datenbank verwendet werden:
    SELECT `TABLE_SCHEMA`, `TABLE_NAME`
    FROM `information_schema`.`KEY_COLUMN_USAGE`
    WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');
  2. Doppelte Einschränkungen umbenennen:

    • Wenn Sie Suchen Sie nach doppelten Einschränkungen und benennen Sie sie einfach um, um den Konflikt zu lösen. Wenn es beispielsweise eine andere Einschränkung mit dem Namen iduser in einer anderen Tabelle gibt, benennen Sie sie in iduser_other um.
  3. Tabelle neu erstellen:

    • Sobald die doppelten Einschränkungen umbenannt wurden, erstellen Sie die Usercircle-Tabelle mit den aktualisierten neu Abfrage.

Indem Sie diese Schritte befolgen, können Sie den Fehler 1022 beheben und die gewünschte Tabelle erfolgreich ohne Einschränkungen durch doppelte Schlüssel erstellen.

Das obige ist der detaillierte Inhalt vonMySQL-Fehler 1022: Wie löse ich doppelte Schlüsseleinschränkungen beim Erstellen einer Tabelle?. 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