sql >> Database >  >> RDS >> Mysql

hoe een door tabs gescheiden bestand in mysql in te voegen met relation

Maak een tabel (Staging ) met veel kolommen. Heb lege (NULL ) kolommen voor parent_id en ID's voor de kinderen.

Ik hoop dat de 'korte' regels nulls in de kolommen met ontbrekende kinderen zullen plaatsen tijdens de LOAD DATA .

INSERT .. SELECT .. om de parent . te krijgen en parent_detail in de Parents tafel. Trek de ids terug van Parents in Staging.parent_id . De details over de twee SQL's hiervoor staan ​​in http://mysql.rjweb.org /doc.php/staging_table#normalization

Doe nu iets soortgelijks voor elke mogelijke "kind" reeks kolommen:child1 en child1_detail (mogelijk NULL-paar) en de momenteel NULL child1_id . Idem voor kind2*, enz. Merk op dat bij het invullen van de Children tabel, je hebt al parent_id beschikbaar.

Dit is een volledig SQL-manier om de taak uit te voeren. Het is alleen iets minder rommelig dan het schrijven van Perl/PHP/Java/VB/welke code dan ook om de taak uit te voeren.



  1. Syntaxisfout aan het einde van invoer in PostgreSQL

  2. Alleen nieuwe rijen in bulk invoegen in PostreSQL

  3. Kan geen verbinding maken met MySQL via PHP-script bij gebruik van mysqli of PDO MAAR mysql werkt

  4. Een Jframe archiveren vanuit MySQL