Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Das Laden von MySQL .csv schlägt fehl, weil eine untergeordnete Zeile nicht hinzugefügt oder aktualisiert werden kann:Fremdschlüsseleinschränkung schlägt fehl

Sie können Fremdschlüsselprüfungen deaktivieren, indem Sie set foreign_key_checks = 0; verwenden vor der Eingabe (unbedingt mit SET foreign_key_checks = 1; zurücksetzen nach dem Lauf.

Was Sie wirklich tun sollten, ist sicherzustellen, dass jede Tabelle hometeam_id und awayteam_id zeigen auf HAVE die Werte, die Sie einfügen. Wenn die Teamtabellen Daten in dieselbe CSV-Datei wie Ihre Spieltabelle einfügen, führen Sie zuerst die Teamtabellen aus, aber das scheint nicht der Fall zu sein.

Schließlich können Sie die Fremdschlüssel für hometeam_id und awayteam_id entfernen und später wie in diesem Beispiel hinzufügen:ALTER TABLE table_name DROP FOREIGN KEY table_name_ibfk_1;