„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum erhalte ich den MySQL-Fehler 1022, wenn ich eine Tabelle mit Fremdschlüsseln erstelle?

Warum erhalte ich den MySQL-Fehler 1022, wenn ich eine Tabelle mit Fremdschlüsseln erstelle?

Veröffentlicht am 12.11.2024
Durchsuche:986

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“ verwendet hat . 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 problematische Schlüssel konnte visuell nicht gefunden werden, Der Benutzer hat sorgfältig Elemente der Tabellendefinition entfernt und letztendlich den Schuldigen isoliert: eine Fremdschlüsseleinschränkung, die auf die Tabelle „Fehler“ 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 Namenskonventionen 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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3