Heim > Datenbank > MySQL-Tutorial > Wie behebt man den MySQL-Fehler 1452: Fremdschlüsseleinschränkung schlägt fehl?

Wie behebt man den MySQL-Fehler 1452: Fremdschlüsseleinschränkung schlägt fehl?

Susan Sarandon
Freigeben: 2024-12-23 11:17:14
Original
731 Leute haben es durchsucht

How to Resolve MySQL Error 1452: Foreign Key Constraint Fails?

MySQL-Fehler 1452: Das Hinzufügen oder Aktualisieren einer untergeordneten Zeile schlägt aufgrund einer Fremdschlüsseleinschränkung fehl

Beim Versuch, der Tabelle „sourcecodes_tags“ einen Fremdschlüssel hinzuzufügen Beim Verweisen auf die Quellcodetabelle tritt ein Fehler auf: „MySQL-Fehler 1452 – Hinzufügen oder Aktualisieren nicht möglich.“ Eine untergeordnete Zeile: Eine Fremdschlüsseleinschränkung schlägt fehl Primärschlüsselwerte (ID) in der Quellcodetabelle. MySQL erzwingt referenzielle Integrität und stellt sicher, dass Fremdschlüssel auf gültige Primärschlüssel in den übergeordneten Tabellen verweisen.

Beheben des Fehlers

Um diesen Fehler zu beheben, ist es notwendig, und zu identifizieren Entfernen Sie die verwaisten sourcecode_id-Werte aus der Tabelle „sourcecodes_tags“. Führen Sie die folgende Abfrage aus, um die fehlenden Primärschlüsselwerte zu finden:

Diese Abfrage gibt eine Liste von sourcecode_id-Werten zurück, die nicht in der Quellcodetabelle vorhanden sind. Sobald diese verwaisten Werte identifiziert sind, können sie mit der DELETE-Anweisung entfernt werden:

Nachdem Sie die verwaisten Werte entfernt haben, führen Sie die ALTER TABLE-Anweisung erneut aus, um den Fremdschlüssel hinzuzufügen:

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

Dadurch sollte die Fremdschlüsseleinschränkung erfolgreich und ohne Fehler erstellt werden.

Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1452: Fremdschlüsseleinschränkung schlägt fehl?. 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