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