Ich habe Daten mit phpMyAdmin exportiert, aber wenn ich die Daten importiere, bekomme ich diesen Fehler:
# 1452 - Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden: Eine Fremdschlüsseleinschränkung schlägt fehl
Ich kann die Daten entsprechend einstellen und bekomme dann den Fehler nicht. Aber gibt es einen besseren Weg, dies zu tun? Etwas wie das Deaktivieren einiger Optionen in phpMyAdmin oder das Hinzufügen einiger Abfragen zu SQL?
Das Problem ist, dass pma sich nicht um die Reihenfolge der Einfügereihen kümmert. so kommt es vor, dass eine Tabellenzeile mit einem FK eingefügt wird, wo die FK-Zeile noch nicht importiert ist.
Um dies zu lösen, benutzen Sie das Kontrollkästchen Disable Foreign Key Checks
beim Export von PhpMyadmin. Oder setze es selbst:
und am Ende:
%Vor% Auf diesen Fehler ( Cannot add or update a child row: a foreign key constraint fails
) wird in der MySQL-FK verwiesen Doc
Um einen Verweis zwischen zwei Tabellen hinzuzufügen, muss die Bedingung für vorhandene Daten passen.
Das heißt, wenn Sie table1.id = table2.id
sagen, müssen alle IDs von table1
und table2
zusammenpassen.
Um das zu lösen, müssen Sie die Zeilen löschen oder korrigieren, die nicht übereinstimmen.
Beispiel:
Tags und Links sql php mysql phpmyadmin