Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum erhalte ich beim Erstellen einer Tabelle mit Fremdschlüsseln den MySQL-Fehler 1022?

Susan Sarandon
Freigeben: 2024-10-28 02:39:02
Original
244 Leute haben es durchsucht

Why Am I Getting MySQL Error 1022 When Creating a Table with Foreign Keys?

MySQL-Fehler 1022: Enthüllung der Grundursache

Das Erstellen von Tabellen ist ein grundlegender Aspekt des Datenbankdesigns, aber manchmal können unerwartete Fehler auftreten. Ein solcher Fehler ist der berüchtigte MySQL-Fehler 1022, der häufig auftritt, wenn versucht wird, eine Tabelle mit doppelten Schlüsseln zu erstellen.

In einem aktuellen Fall ist ein Benutzer auf diesen Fehler gestoßen, als er MySQL Workbench zum Erstellen der Tabelle „errors_reports“ verwendete . Obwohl die Tabelle gültig schien, weigerte sich MySQL hartnäckig, dieser nachzukommen und verwies auf das Vorhandensein doppelter Schlüssel.

Suche nach dem belastenden Schlüssel

Der störende Schlüssel konnte visuell nicht gefunden werden, Der Benutzer hat sorgfältig Elemente der Tabellendefinition entfernt und letztendlich den Übeltäter isoliert: eine Fremdschlüsseleinschränkung, die auf die „Fehler“-Tabelle verweist.

Der seltsame Fall identischer Fremdschlüssel

Seltsamerweise war der Benutzer ohne Probleme auf identische Fremdschlüsseldefinitionen in anderen Tabellen gestoßen. In diesem Fall weigerte sich MySQL jedoch, die Duplizierung zu tolerieren.

Entlarvung des Konflikts

Die Lösung für dieses verwirrende Dilemma liegt im Konzept der Benennungskonventionen für Fremdschlüssel. Wie sich herausstellt, können Fremdschlüssel innerhalb einer Datenbank nicht denselben Namen haben. Dies liegt daran, dass MySQL Fremdschlüsselnamen verwendet, um zu bestimmen, auf welche Tabelle und Spalte der Verweis verweist. Das Zuweisen desselben Namens zu mehreren Fremdschlüsseln kann zu Verwirrung und Mehrdeutigkeit führen.

Ein klarerer Weg zur Tabellenerstellung

Um den Fehler zu beheben und die „errors_reports“ erfolgreich zu erstellen In der Tabelle hat der Benutzer den Namen des fehlerhaften Fremdschlüssels angepasst. Durch die Sicherstellung, dass Fremdschlüsselnamen eindeutig waren, erfüllte der Benutzer die Namenskonvention von MySQL und ebnete den Weg für eine erfolgreiche Tabellenerstellung.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen einer Tabelle mit Fremdschlüsseln den MySQL-Fehler 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