sql >> Base de Datos >  >> RDS >> Mysql

cómo insertar un archivo delimitado por tabuladores en mysql con relación

Crear una tabla (Staging ) con muchas columnas. Tener vacío (NULL ) columnas para parent_id e identificaciones para los niños.

Espero que las líneas 'cortas' pongan nulos en las columnas de niños faltantes durante LOAD DATA .

INSERT .. SELECT .. para obtener el parent y parent_detail en los Parents mesa. Retire los ids de Parents en Staging.parent_id . Los detalles de los dos SQL para estos se encuentran en http://mysql.rjweb.org /doc.php/staging_table#normalización

Ahora haga algo similar para cada posible conjunto de columnas "hijo":child1 y child1_detail (posiblemente par NULL) y el child1_id actualmente NULL . Lo mismo para child2*, etc. Tenga en cuenta que al completar Children tabla, ya tiene parent_id disponible.

Esta es una forma totalmente SQL de hacer la tarea. Es solo un poco menos complicado que escribir Perl/PHP/Java/VB/cualquier código para hacer la tarea.