Skapa en tabell (Staging
) med många kolumner. Ha tomma (NULL
) kolumner för parent_id
och ID för barnen.
Hoppas att de "korta" raderna kommer att sätta nollor i de saknade barnkolumnerna under LOAD DATA
.
INSERT .. SELECT ..
för att få parent
och parent_detail
i Parents
tabell. Dra tillbaka ids
från Parents
till Staging.parent_id
. Detaljerna om de två SQL-filerna för dessa finns i http://mysql.rjweb.org /doc.php/staging_table#normalization
Gör nu något liknande för varje möjlig "underordnad" uppsättning av kolumner:child1
och child1_detail
(möjligen NULL-paret) och det för närvarande NULL child1_id
. Dito för child2*, etc. Observera att när du fyller i Children
tabell har du redan parent_id
tillgängliga.
Detta är ett helt SQL-sätt att utföra uppgiften. Det är bara lite mindre rörigt än att skriva Perl/PHP/Java/VB/vilken kod för att göra uppgiften.