Fehlerbehebung bei MySQL Errno 150: Fremdschlüsselfehler
Beim Erstellen einer Fremdschlüsseleinschränkung in MySQL stoßen Sie möglicherweise auf die berüchtigte „Errno 150“ Fehler. Ziel dieses Artikels ist es, die Grundursache dieses Fehlers zu ermitteln und eine Lösung bereitzustellen.
Die Fehlermeldung lautet normalerweise „Tabelle kann nicht erstellt werden“ aufgrund einer ungültigen Referenz in einer Fremdschlüsseldeklaration. Dies kann auftreten, wenn eine Diskrepanz zwischen den Datentypen der Spalten besteht, auf die verwiesen wird.
Im angegebenen Skript wird eine Abschnittstabelle mit Fremdschlüsseln definiert, die auf die Tabellen „Kurse“ und „Dozenten“ verweisen. Eine sorgfältige Prüfung zeigt, dass die Datentypen in den referenzierten Spalten übereinstimmen: varchar(10) für Course_Code in beiden Tabellen und varchar(10) für ID in beiden Tabellen.
Es gibt jedoch ein entscheidendes Detail, das leicht stimmen kann übersehen: die zugrunde liegenden Datentypen. Obwohl der Datentyp varchar identisch erscheint, ermöglicht er unterschiedliche Zeichenlängen. Dies bedeutet, dass in der ID-Spalte in der Tabelle „Lehrer“ möglicherweise Werte gespeichert werden, die eine andere Zeichenanzahl haben als die in der Spalte „Course_Code“ in der Tabelle „Kurse“.
Um den Fehler „Errno 150“ zu beheben, stellen Sie sicher, dass die referenzierten Spalten identisch sind zugrunde liegende Datentypen, einschließlich Zeichenlänge und etwaiger Sonderattribute (z. B. ohne Vorzeichen oder Nullfüllung). Durch die Sicherstellung einer präzisen Datentypübereinstimmung können Sie gültige Fremdschlüsselbeziehungen herstellen und diesen häufigen MySQL-Fehler beheben.
Das obige ist der detaillierte Inhalt vonMySQL Errno 150: Warum kann ich meine Fremdschlüsseleinschränkung nicht erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!