Heim > Datenbank > MySQL-Tutorial > Wie behebe ich den MySQL-Fehler „Schreiben nicht möglich; doppelter Schlüssel in der Tabelle' (1022)?

Wie behebe ich den MySQL-Fehler „Schreiben nicht möglich; doppelter Schlüssel in der Tabelle' (1022)?

Susan Sarandon
Freigeben: 2024-12-01 09:57:10
Original
212 Leute haben es durchsucht

How to Resolve the MySQL

Fehlerbehebung „Kann nicht schreiben; doppelter Schlüssel in der Tabelle“ Fehler

Beim Auftreten eines 1022-Fehlers beim Ausführen eines CREATE TABLE-Befehls aufgrund von Bei doppelten Schlüsseln ist es wichtig, die Abfrage zu überprüfen und die Quelle der Duplizierung zu identifizieren.

Im Beispiel Vorausgesetzt, die Fehlermeldung weist auf ein Problem im Zusammenhang mit den Einschränkungen „iduser“ und „idcategory“ hin. Höchstwahrscheinlich sind in der Datenbank bereits Einschränkungen mit diesen Namen definiert.

Doppelte Einschränkungen auflösen

Um dieses Problem zu beheben, müssen Sie die doppelten Einschränkungen umbenennen. Einschränkungen müssen in der gesamten Datenbank eindeutig sein und dürfen nicht auf die bestimmte Tabelle beschränkt sein, die erstellt oder geändert wird.

Vorhandene Einschränkungen finden

Um herauszufinden, wo sich die doppelten Einschränkungen derzeit befinden verwenden, führen Sie die folgende Abfrage aus:

SELECT `TABLE_SCHEMA`, `TABLE_NAME`
FROM `information_schema`.`KEY_COLUMN_USAGE`
WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');
Nach dem Login kopieren

Diese Abfrage gibt das Tabellenschema und den Tabellennamen zurück, in dem jede Einschränkung verwendet wird. Sobald Sie die widersprüchlichen Einschränkungen identifiziert haben, können Sie sie mit dem Befehl ALTER TABLE umbenennen. Zum Beispiel:

ALTER TABLE `apptwo`.`usercircle` DROP CONSTRAINT `iduser`;
ALTER TABLE `apptwo`.`usercircle` ADD CONSTRAINT `user_constraint` FOREIGN KEY (`userId`) REFERENCES `apptwo`.`user` (`idUser`) ON DELETE NO ACTION ON UPDATE NO ACTION;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Schreiben nicht möglich; doppelter Schlüssel in der Tabelle' (1022)?. 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