Heim > Datenbank > MySQL-Tutorial > MySQL-Fremdschlüsseleinschränkungsfehler 1452: Wie behebt man „Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden'?

MySQL-Fremdschlüsseleinschränkungsfehler 1452: Wie behebt man „Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden'?

Mary-Kate Olsen
Freigeben: 2025-01-21 05:07:08
Original
331 Leute haben es durchsucht

MySQL Foreign Key Constraint Error 1452: How to Fix

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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.

  • Übergeordnete Tabelle: enthält den Primärschlüsselwert.
  • Untergeordnete Tabelle: hat einen Fremdschlüsselwert, der auf die übergeordnete Tabelle verweist.

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!

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