Crie uma tabela (
Staging ) com muitas colunas. Tem vazio (NULL ) colunas para parent_id e ids para as crianças. Espero que as linhas 'curtas' coloquem nulos nas colunas filhas ausentes durante o
LOAD DATA . INSERT .. SELECT .. para obter o parent e parent_detail para os Parents tabela. Retire os ids de Parents em Staging.parent_id . Os detalhes sobre os dois SQLs para estes estão em https://mysql.rjweb.org /doc.php/staging_table#normalization
Agora faça algo semelhante para cada conjunto de colunas "filho" possível:
child1 e child1_detail (possivelmente par NULL) e o atualmente NULL child1_id . Idem para child2*, etc. Observe que ao preencher o Children tabela, você já tem parent_id acessível. Essa é uma maneira totalmente SQL de fazer a tarefa. É apenas um pouco menos confuso do que escrever código Perl/PHP/Java/VB/qualquer que seja para fazer a tarefa.