Utwórz tabelę (Staging ) z dużą ilością kolumn. Mieć puste (NULL ) kolumny dla parent_id i identyfikatory dla dzieci.
Mam nadzieję, że „krótkie” wiersze wstawią wartości null w brakujących kolumnach podrzędnych podczas LOAD DATA .
INSERT .. SELECT .. aby uzyskać parent i parent_detail do Parents stół. Wycofaj ids od Parents w Staging.parent_id . Szczegółowe informacje na temat dwóch SQL dla nich znajdują się w https://mysql.rjweb.org /doc.php/staging_table#normalizacja
Teraz zrób coś podobnego dla każdego możliwego zestawu kolumn „podrzędnych”:child1 i child1_detail (prawdopodobnie para NULL) i obecnie NULL child1_id . To samo dla child2*, itp. Pamiętaj, że podczas wypełniania Children tabela, masz już parent_id dostępne.
To jest całkowicie SQL sposób wykonania zadania. Jest tylko trochę mniej kłopotliwy niż pisanie kodu w Perlu/PHP/Java/VB/wszelkim innym celu.