Opret en tabel (Staging
) med mange kolonner. Har tom (NULL
) kolonner for parent_id
og id'er til børnene.
Håber, at de 'korte' linjer vil sætte nuller i kolonnerne for manglende børn under LOAD DATA
.
INSERT .. SELECT ..
for at få parent
og parent_detail
ind i Parents
bord. Træk ids
tilbage fra Parents
ind i Staging.parent_id
. Detaljerne om de to SQL'er for disse er i http://mysql.rjweb.org /doc.php/staging_table#normalization
Gør nu noget lignende for hvert muligt "underordnet" sæt af kolonner:child1
og child1_detail
(muligvis NULL-par) og det nuværende NULL child1_id
. Ditto for child2* osv. Bemærk, at når du udfylder Children
tabel, har du allerede parent_id
tilgængelig.
Dette er en fuld-SQL måde at udføre opgaven på. Det er kun lidt mindre rodet end at skrive Perl/PHP/Java/VB/hvad som helst kode for at udføre opgaven.