Heim > Datenbank > MySQL-Tutorial > MySQL-Fehler 1452: Wie behebe ich Verstöße gegen Fremdschlüsseleinschränkungen?

MySQL-Fehler 1452: Wie behebe ich Verstöße gegen Fremdschlüsseleinschränkungen?

Linda Hamilton
Freigeben: 2024-12-22 15:15:15
Original
619 Leute haben es durchsucht

MySQL Error 1452: How Do I Resolve Foreign Key Constraint Violations?

Verstoß gegen Fremdschlüsseleinschränkungen: Fehler 1452 in MySQL verstehen

MySQL-Fehler 1452: „Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden: ein Fremdschlüssel.“ „Einschränkung schlägt fehl“ tritt auf, wenn Sie versuchen, Daten in eine untergeordnete Tabelle einzufügen oder zu ändern und dabei eine Fremdschlüsselbeziehung verletzen. Dieser Fehler weist darauf hin, dass der referenzierte Datensatz in der übergeordneten Tabelle fehlt oder ungültig ist.

In dem von Ihnen beschriebenen Szenario versuchen Sie, einen Fremdschlüssel zur Tabelle „sourcecodes_tags“ hinzuzufügen und dabei auf die Tabelle „sourcecodes“ zu verweisen. Dies schlägt jedoch aufgrund eines potenziellen Konflikts fehl.

Um dieses Problem zu beheben, sollten Sie zunächst feststellen, ob in der Tabelle „sourcecodes_tags“ verwaiste Datensätze vorhanden sind. Verwaiste Datensätze sind solche, die auf nicht vorhandene Zeilen in der Quellcodetabelle verweisen.

Um verwaiste Datensätze zu finden, führen Sie die folgende Abfrage aus:

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

Diese Abfrage listet die Quellcode-IDs auf, die dies tun nicht in der übergeordneten Tabelle vorhanden.

Sobald Sie die verwaisten Datensätze identifiziert haben, können Sie sie mit a aus der Tabelle „sourcecodes_tags“ entfernen DELETE-Anweisung. Nachdem Sie die verwaisten Datensätze gelöscht haben, können Sie die Fremdschlüsseleinschränkung erfolgreich hinzufügen.

Außerdem ist es wichtig sicherzustellen, dass Sie gültige Quellcode-IDs in die Tabelle „sourcecodes_tags“ einfügen. Wenn die eingefügten IDs nicht in der Quellcodetabelle vorhanden sind, wird der Fehler 1452 angezeigt.

Das obige ist der detaillierte Inhalt vonMySQL-Fehler 1452: Wie behebe ich Verstöße gegen Fremdschlüsseleinschränkungen?. 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