Fremdschlüsseleinschränkungsfehler in MySQL: „Fehler 1452: Untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden“
Beim Einfügen von Daten in eine untergeordnete Tabelle stellen Fremdschlüsseleinschränkungen sicher, dass die in der übergeordneten Tabelle referenzierten Daten vorhanden sind. Wenn diese Einschränkung jedoch verletzt wird, tritt ein Fehler auf, wie in der folgenden Abfrage dargestellt:
<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>
Fehler verstehen
Der Fehler „Fehler 1452: Untergeordnete Zeile konnte nicht hinzugefügt oder aktualisiert werden: Fremdschlüsseleinschränkung fehlgeschlagen“ weist darauf hin, dass in der übergeordneten Tabelle keine Zeile vorhanden ist, die mit dem angegebenen Fremdschlüsselwert übereinstimmt. In diesem Beispiel gibt es keine Bestellung mit der Bestell-ID 100.
Lösen Sie das Problem
Um diesen Fehler zu beheben, müssen Sie zunächst sicherstellen, dass die referenzierten Daten in der übergeordneten Tabelle vorhanden sind:
<code class="language-sql">INSERT INTO Ordre (OrdreID, KundeID) VALUES (100, 200);</code>
Sobald die übergeordnete Tabelle über die erforderlichen Daten verfügt, können Sie Daten in die untergeordnete Tabelle einfügen, ohne dass Fremdschlüsseleinschränkungsfehler auftreten:
<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>
Fremdschlüsselbeziehung
Fremdschlüsselbeziehungen stellen Verknüpfungen zwischen Tabellen her, stellen die Datenintegrität sicher und verhindern Anomalien bei der Datenmanipulation. Die untergeordnete Tabelle enthält eine Spalte, die auf eine Spalte in der übergeordneten Tabelle verweist und so eine Eltern-Kind-Beziehung herstellt.
Fremdschlüsseleinschränkungen erzwingen
Standarddatenbankeinstellungen erzwingen normalerweise Fremdschlüsseleinschränkungen. Wenn ein Verstoß auftritt, lässt die Datenbank keine Datenmanipulationsvorgänge zu.
Das obige ist der detaillierte Inhalt vonMySQL-Fremdschlüsseleinschränkungsfehler 1452: Wie behebt man „Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!