Heim > Datenbank > MySQL-Tutorial > Wie behebe ich den MySQL-Fehler 1022: Doppelter Schlüssel bei der Tabellenerstellung?

Wie behebe ich den MySQL-Fehler 1022: Doppelter Schlüssel bei der Tabellenerstellung?

Linda Hamilton
Freigeben: 2024-11-29 11:14:14
Original
932 Leute haben es durchsucht

How to Troubleshoot MySQL Error 1022: Duplicate Key in Table Creation?

Fehler durch doppelten Schlüssel bei der Tabellenerstellung: Fehlerbehebung bei „Fehler 1022“

Ein Benutzer ist auf den berüchtigten „Fehler 1022: Schreiben nicht möglich; Fehler „Duplizierter Schlüssel in Tabelle“ beim Versuch, eine neue Tabelle zu erstellen. Bei der Untersuchung der SQL-Abfrage war die Quelle der Duplizierung nicht sofort ersichtlich.

Die Abfrage erstellte eine Tabelle namens „usercircle“ mit mehreren Spalten, einschließlich idUserCircle, userId und CircleId. Außerdem wurden ein Primärschlüssel für „idUserCircle“ und Fremdschlüsseleinschränkungen angegeben, die auf die Benutzer- und Kreistabellen in den Spalten „userId“ bzw. „circleId“ verweisen.

Identifizierung des Konflikts

Der Schlüssel Um diesen Fehler zu beheben, müssen Sie erkennen, dass Einschränkungen, einschließlich Fremdschlüsseleinschränkungen, in der gesamten Datenbank und nicht nur innerhalb einer bestimmten Tabelle eindeutig sein müssen. Daher ist das zugrunde liegende Problem wahrscheinlich ein doppelter Einschränkungsname an anderer Stelle in der Datenbank.

Lösung

Um festzustellen, welche Einschränkungen in Konflikt stehen, kann der Benutzer die folgende Abfrage ausführen:

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

Diese Abfrage zeigt, welche Tabellen und Spalten derzeit die Einschränkungen iduser und idcategory verwenden. Durch Umbenennen der doppelten Einschränkung(en) kann der Benutzer den Fehler beheben und die Tabelle „usercircle“ erfolgreich erstellen.

Zusätzliche Tipps

  • Stellen Sie immer sicher, dass die Namen der Einschränkungen verwendet werden sind innerhalb Ihrer Datenbank eindeutig, um potenzielle Konflikte zu vermeiden.
  • Verwenden Sie Tools wie Datenbankverwaltungssysteme oder SQL-Entwicklungsumgebungen, um das Einschränkungsmanagement zu unterstützen und mögliche Potenziale zu identifizieren Benennungsprobleme.
  • Denken Sie daran, dass Fremdschlüsseleinschränkungen die Datenintegrität gewährleisten, indem sie Beziehungen zwischen Tabellen erzwingen, aber auch eindeutige Einschränkungsnamen erfordern.

Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler 1022: Doppelter Schlüssel bei der Tabellenerstellung?. 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