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;
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!