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:
Doppelte Einschränkungen identifizieren:
SELECT `TABLE_SCHEMA`, `TABLE_NAME` FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');
Doppelte Einschränkungen umbenennen:
Tabelle neu erstellen:
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!