Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich einen Fremdschlüsseleinschränkungsfehler (Fehlercode 1215)?

Warum erhalte ich einen Fremdschlüsseleinschränkungsfehler (Fehlercode 1215)?

Mary-Kate Olsen
Freigeben: 2024-11-25 01:43:11
Original
790 Leute haben es durchsucht

Why Am I Getting a Foreign Key Constraint Error (Error Code 1215)?

Fremdschlüsseleinschränkungsfehler: Fehlercode 1215

Beim Versuch, einer Tabelle eine Fremdschlüsseleinschränkung hinzuzufügen, wird der Fehlercode 1215 angezeigt: „ „Fremdschlüsseleinschränkung (Fremdschlüssel) kann nicht hinzugefügt werden“, kann auftreten. Dieser Fehler weist auf eine Nichtübereinstimmung der Datentypen zwischen der referenzierten Spalte und der Fremdschlüsselspalte hin.

Fehleranalyse:

Im gegebenen Beispiel ist der Fehler wahrscheinlich darauf zurückzuführen Folgende Fremdschlüsseleinschränkung:

FOREIGN KEY (classLeader) REFERENCES student(studentID)
Nach dem Login kopieren

Hier hat die classLeader-Spalte den Datentyp VARCHAR(255), während die studentID-Spalte den Datentyp VARCHAR(255) hat in der referenzierten Schülertabelle hat den Datentyp INT. Die Datentypen der referenzierten und Fremdschlüsselspalten müssen übereinstimmen.

Alternative Lösungen:

Um diesen Fehler zu beheben, stellen Sie sicher, dass die Datentypen der referenzierten und Fremdschlüsselspalten übereinstimmen übereinstimmen. In diesem Fall kann die classLeader-Spalte so geändert werden, dass sie den Datentyp INT hat, der mit der studentID-Spalte übereinstimmt.

Tabellen mit Fremdschlüsseln füllen:

Beim Ausfüllen von a Bei einer Tabelle mit einer Fremdschlüsseleinschränkung ist es nicht möglich, Daten direkt in das Fremdschlüsselfeld einzufügen. Stattdessen müssen die Daten zunächst in die referenzierte Tabelle (z. B. die Schülertabelle) eingefügt werden. Das Fremdschlüsselfeld (z. B. classID) kann dann mit dem entsprechenden Primärschlüsselwert aus der referenzierten Tabelle gefüllt werden.

Fremdschlüssel als Schlüssel:

Fremdschlüssel sind wird als eine Art Schlüssel betrachtet, insbesondere als logischer Schlüssel. Sie sind keine Primärschlüssel oder eindeutigen Schlüssel, spielen jedoch eine entscheidende Rolle bei der Gewährleistung der Datenintegrität, indem sie Beziehungen zwischen Tabellen aufrechterhalten. Fremdschlüssel erzwingen die referenzielle Integrität, die Inkonsistenzen in den Daten verhindert, indem sie sicherstellen, dass Datensätze in der untergeordneten Tabelle (z. B. Klasse) entsprechende Datensätze in der übergeordneten Tabelle (z. B. Student) haben.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich einen Fremdschlüsseleinschränkungsfehler (Fehlercode 1215)?. 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