Heim > Datenbank > MySQL-Tutorial > Warum gibt MySQL den Fehler „Kann keine untergeordnete Zeile hinzufügen oder aktualisieren: Eine Fremdschlüsseleinschränkung schlägt fehl' (Fehler 1452) aus?

Warum gibt MySQL den Fehler „Kann keine untergeordnete Zeile hinzufügen oder aktualisieren: Eine Fremdschlüsseleinschränkung schlägt fehl' (Fehler 1452) aus?

Susan Sarandon
Freigeben: 2024-12-21 00:01:11
Original
145 Leute haben es durchsucht

Why Does MySQL Throw

MySQL-Fremdschlüsseleinschränkungsproblem: Untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden

Beim Versuch, eine Fremdschlüsseleinschränkung in einer MySQL-Tabelle einzurichten, haben Sie Möglicherweise tritt der Fehler 1452 auf: „Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden: Eine Fremdschlüsseleinschränkung schlägt fehl.“ Dieses Problem tritt auf, wenn eine untergeordnete Zeile in einer Tabelle auf eine übergeordnete Zeile verweist, die in einer anderen Tabelle nicht mehr vorhanden ist.

Im bereitgestellten Szenario versuchen Sie, einen Fremdschlüssel in der Tabelle „sourcecodes_tags“ hinzuzufügen, der auf die Tabelle „sourcecodes“ verweist. Die Fehlermeldung deutet jedoch darauf hin, dass es verwaiste Datensätze in der Tabelle „sourcecodes_tags“ gibt, die auf nicht vorhandene Zeilen in der Tabelle „sourcecodes“ verweisen.

Um dieses Problem zu beheben, müssen zunächst die verwaisten Datensätze identifiziert werden. Sie können die folgende Abfrage verwenden, um diese Datensätze abzurufen:

SELECT DISTINCT sourcecode_id 
FROM sourcecodes_tags tags 
LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id 
WHERE sc.id IS NULL;
Nach dem Login kopieren

Sobald Sie die verwaisten Datensätze identifiziert haben, können Sie sie aus der Tabelle „sourcecodes_tags“ entfernen. Dadurch können Sie die Fremdschlüsseleinschränkung erfolgreich hinzufügen.

Es ist wichtig, die referenzielle Integrität in Ihren Datenbanktabellen sicherzustellen, indem Sie Fremdschlüsseleinschränkungen durchsetzen. Diese Einschränkungen verhindern Dateninkonsistenzen und behalten die Beziehungen zwischen Tabellen bei. Durch die Behandlung verwaister Datensätze können Sie den Fehler 1452 beheben und ordnungsgemäße Beziehungen zwischen Ihren Datenbanktabellen herstellen.

Das obige ist der detaillierte Inhalt vonWarum gibt MySQL den Fehler „Kann keine untergeordnete Zeile hinzufügen oder aktualisieren: Eine Fremdschlüsseleinschränkung schlägt fehl' (Fehler 1452) aus?. 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