Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como inserir arquivo delimitado por tabulação no mysql com relação


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