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

wie man tabulatorgetrennte dateien in mysql mit relation einfügt

Erstellen Sie eine Tabelle (Staging ) mit vielen Spalten. Leer sein (NULL ) Spalten für parent_id und IDs für die Kinder.

Hoffen Sie, dass die 'kurzen' Zeilen während des LOAD DATA Nullen in die fehlenden untergeordneten Spalten setzen .

INSERT .. SELECT .. um den parent zu erhalten und parent_detail in die Parents Tisch. Ziehen Sie die ids zurück von Parents in Staging.parent_id . Die Details zu den beiden SQLs dafür finden Sie in http://mysql.rjweb.org /doc.php/staging_table#normalization

Machen Sie nun etwas Ähnliches für jeden möglichen "untergeordneten" Satz von Spalten:child1 und child1_detail (möglicherweise NULL-Paar) und die derzeit NULL child1_id . Dasselbe gilt für child2* usw. Beachten Sie dies beim Ausfüllen der Children Tabelle haben Sie bereits parent_id verfügbar.

Dies ist eine All-SQL-Methode, um die Aufgabe zu erledigen. Es ist nur geringfügig weniger chaotisch, als Perl/PHP/Java/VB/was auch immer Code zu schreiben, um die Aufgabe zu erledigen.