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

hvordan man indsætter tabulatorafgrænset fil i mysql med relation

Opret en tabel (Staging ) med mange kolonner. Har tom (NULL ) kolonner for parent_id og id'er til børnene.

Håber, at de 'korte' linjer vil sætte nuller i kolonnerne for manglende børn under LOAD DATA .

INSERT .. SELECT .. for at få parent og parent_detail ind i Parents bord. Træk ids tilbage fra Parents ind i Staging.parent_id . Detaljerne om de to SQL'er for disse er i http://mysql.rjweb.org /doc.php/staging_table#normalization

Gør nu noget lignende for hvert muligt "underordnet" sæt af kolonner:child1 og child1_detail (muligvis NULL-par) og det nuværende NULL child1_id . Ditto for child2* osv. Bemærk, at når du udfylder Children tabel, har du allerede parent_id tilgængelig.

Dette er en fuld-SQL måde at udføre opgaven på. Det er kun lidt mindre rodet end at skrive Perl/PHP/Java/VB/hvad som helst kode for at udføre opgaven.



  1. Hvordan sikrer man sig, at der ikke er nogen racetilstand i MySQL-databasen, når man øger et felt?

  2. Fix Adgang nægtet for brugeren 'root'@'localhost' til phpMyAdmin

  3. Hvordan fungerer SQL's konverterfunktion, når datetime konverteres til float?

  4. Sådan får du sidste 15 dages optegnelser i MySQL