Maak een tabel (Staging
) met veel kolommen. Heb lege (NULL
) kolommen voor parent_id
en ID's voor de kinderen.
Ik hoop dat de 'korte' regels nulls in de kolommen met ontbrekende kinderen zullen plaatsen tijdens de LOAD DATA
.
INSERT .. SELECT ..
om de parent
. te krijgen en parent_detail
in de Parents
tafel. Trek de ids
terug van Parents
in Staging.parent_id
. De details over de twee SQL's hiervoor staan in http://mysql.rjweb.org /doc.php/staging_table#normalization
Doe nu iets soortgelijks voor elke mogelijke "kind" reeks kolommen:child1
en child1_detail
(mogelijk NULL-paar) en de momenteel NULL child1_id
. Idem voor kind2*, enz. Merk op dat bij het invullen van de Children
tabel, je hebt al parent_id
beschikbaar.
Dit is een volledig SQL-manier om de taak uit te voeren. Het is alleen iets minder rommelig dan het schrijven van Perl/PHP/Java/VB/welke code dan ook om de taak uit te voeren.