Heim >Datenbank >MySQL-Tutorial >Warum kann ich keine Fremdschlüsseleinschränkung hinzufügen (Fehlercode 1215)?
Fehlercode 1215 verstehen: „Fremdschlüsseleinschränkung (Fremdschlüssel) kann nicht hinzugefügt werden“ und seine Alternativen
Beim Herstellen von Beziehungen zwischen Tabellen mithilfe von Fremdschlüsseln Schlüssel ist es von entscheidender Bedeutung, die Datenkonsistenz sicherzustellen. Bei der Datenbankerstellung kann jedoch der Fehlercode 1215 auftreten: „Fremdschlüsseleinschränkung (Fremdschlüssel) kann nicht hinzugefügt werden“. Dieser Fehler tritt häufig auf, wenn die Datentypen der referenzierenden und referenzierten Spalten nicht übereinstimmen.
In Ihrem speziellen Fall hat die classLeader-Spalte in der Klassentabelle einen VARCHAR(255)-Datentyp, während die referenzierte studentID-Spalte einen VARCHAR(255)-Datentyp hat in der Schülertabelle ist wahrscheinlich ein INT. Um diesen Fehler zu beheben, stellen Sie sicher, dass die Datentypen der beiden Spalten übereinstimmen.
Zu Ihren Fragen:
Beim Füllen von Tabellen mit Fremdschlüsseln:
Ja, Sie können die für Fremdschlüssel vorgesehene Spalte nicht direkt füllen. Stattdessen müssen Sie zunächst Daten in die referenzierte Tabelle einfügen und dann die Fremdschlüsselspalte mit der entsprechenden ID des eingefügten Datensatzes füllen.
Fremdschlüssel als Schlüssel:
Fremdschlüssel sind für die Aufrechterhaltung der Datenintegrität unerlässlich. Im Gegensatz zu Primärschlüsseln sind sie jedoch keine eindeutigen Bezeichner für Zeilen innerhalb einer Tabelle. Stattdessen stellen sie Beziehungen zwischen Zeilen aus verschiedenen Tabellen her. Primärschlüssel stellen sicher, dass jede Zeile in einer Tabelle eindeutig ist, während Fremdschlüssel garantieren, dass Zeilen in einer Tabelle vorhandenen Zeilen in einer anderen Tabelle entsprechen.
Das obige ist der detaillierte Inhalt vonWarum kann ich keine Fremdschlüsseleinschränkung hinzufügen (Fehlercode 1215)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!