Heim > Datenbank > MySQL-Tutorial > Warum ist meine Fremdschlüsseleinschränkung falsch gebildet?

Warum ist meine Fremdschlüsseleinschränkung falsch gebildet?

DDD
Freigeben: 2025-01-19 05:45:10
Original
355 Leute haben es durchsucht

Why is My Foreign Key Constraint Incorrectly Formed?

Datenbank-Fremdschlüssel-Einschränkungsfehler: Datentyp und Länge stimmen nicht überein

Bei Fremdschlüsselbeziehungen zwischen Tabellen kann der Fehler „Fremdschlüsseleinschränkung ist fehlerhaft“ durch inkonsistente Datentypen und Längen der beteiligten Spalten verursacht werden.

Um diesen Fehler zu beheben, stellen Sie bitte sicher, dass die folgenden Bedingungen erfüllt sind:

  1. Datentypübereinstimmung: Der Datentyp der Fremdschlüsselspalte (IDFromTable1) in Tabelle 2 muss mit dem Datentyp der referenzierten Spalte (ID) in Tabelle 1 identisch sein. In diesem Beispiel werden beide Spalten als CHAR-Typ angegeben. Wenn es sich um unterschiedliche Typen handelt (z. B. INT vs. VARCHAR), hat die Fremdschlüsseleinschränkung keine Auswirkung.
  2. Gleiche Länge: Wenn beide Spalten Zeichendatentypen (CHAR/VARCHAR) sind, müssen sie auch die gleiche Länge (Anzahl der Zeichen) haben. Wenn im angegebenen Beispiel IDFromTable1 als CHAR(5) und ID als CHAR(10) definiert ist, schlägt das Erstellen der Fremdschlüsseleinschränkung mit der Fehlermeldung „Malformed“ fehl.

Durch die Lösung dieser Probleme und die Sicherstellung, dass die Fremdschlüssel- und Referenzspalten übereinstimmende Datentypen und Längen haben, kann die Fremdschlüsselbeziehung korrekt hergestellt werden, was den erwarteten kaskadierenden Löschvorgang ermöglicht.

Das obige ist der detaillierte Inhalt vonWarum ist meine Fremdschlüsseleinschränkung falsch gebildet?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage