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.