Fehlerbehebung bei MySQL-Fremdschlüsselfehler: 1215
Beim Versuch, eine Fremdschlüsseleinschränkung in MySQL hinzuzufügen, wird möglicherweise der Fehlercode 1215 angezeigt „Fremdschlüsseleinschränkung (Fremdschlüssel) kann nicht hinzugefügt werden.“ Dieser Fehler tritt typischerweise aufgrund von Datentypkonflikten oder strukturellen Problemen auf.
Datentypkonflikt
Eine mögliche Ursache ist eine Nichtübereinstimmung der Datentypen zwischen der Spalte, die auf den Fremdschlüssel verweist und die referenzierte Spalte. Wenn beispielsweise die Spalte „classLeader“ in der Klassentabelle den Datentyp VARCHAR(255) hat, während die referenzierte Spalte „studentID“ in der Tabelle „student“ ein INT ist, schlägt die Fremdschlüsseleinschränkung fehl. Die Datentypen beider Spalten müssen identisch sein.
Strukturelle Probleme
Wenn die Datentypen übereinstimmen, kann das Problem in strukturellen Diskrepanzen zwischen den Tabellen liegen. Insbesondere:
Beispiel
-- Create student table CREATE TABLE student ( studentID int NOT NULL AUTO_INCREMENT, lastName varchar(255), firstName varchar(255), PRIMARY KEY (studentID) ); -- Create class table CREATE TABLE class ( classID int NOT NULL AUTO_INCREMENT, nameClass varchar(255), classLeader int, -- Change to INT to match studentID type FOREIGN KEY (classLeader) REFERENCES student(studentID), PRIMARY KEY (classID) );
Fremdschlüssel vs. Schlüssel
Fremdschlüssel werden nicht berücksichtigt Traditionelle Schlüssel (z. B. Primärschlüssel oder eindeutige Schlüssel), die Zeilen innerhalb einer Tabelle eindeutig identifizieren. Stattdessen besteht ihr Hauptzweck darin, die referenzielle Integrität sicherzustellen und Beziehungen zwischen Tabellen aufrechtzuerhalten. Durch die Durchsetzung von Fremdschlüsseln können Sie Inkonsistenzen und verwaiste Daten verhindern.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fremdschlüsselfehler 1215: „Fremdschlüsseleinschränkung kann nicht hinzugefügt werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!