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 http://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.