Mysql
 sql >> Database >  >> RDS >> Mysql

come inserire file delimitati da tabulazioni in mysql con relazione

Crea una tabella (Staging ) con molte colonne. Avere vuoto (NULL ) colonne per parent_id e ID per i bambini.

Spero che le righe "brevi" inseriscano valori null nelle colonne figli mancanti durante il LOAD DATA .

INSERT .. SELECT .. per ottenere il parent e parent_detail nel Parents tavolo. Ritira gli ids da Parents in Staging.parent_id . I dettagli sui due SQL per questi sono in http://mysql.rjweb.org /doc.php/staging_table#normalizzazione

Ora fai qualcosa di simile per ogni possibile set di colonne "figlio":child1 e child1_detail (possibilmente coppia NULL) e il child1_id attualmente NULL . Idem per child2*, ecc. Nota che quando si compila il Children tabella, hai già parent_id disponibile.

Questo è un modo tutto SQL per eseguire l'attività. È solo leggermente meno disordinato che scrivere Perl/PHP/Java/VB/qualunque codice per eseguire l'attività.