sql >> Databasteknik >  >> RDS >> Mysql

hur man infogar tabbavgränsad fil i mysql med relation

Skapa en tabell (Staging ) med många kolumner. Ha tomma (NULL ) kolumner för parent_id och ID för barnen.

Hoppas att de "korta" raderna kommer att sätta nollor i de saknade barnkolumnerna under LOAD DATA .

INSERT .. SELECT .. för att få parent och parent_detail i Parents tabell. Dra tillbaka ids från Parents till Staging.parent_id . Detaljerna om de två SQL-filerna för dessa finns i http://mysql.rjweb.org /doc.php/staging_table#normalization

Gör nu något liknande för varje möjlig "underordnad" uppsättning av kolumner:child1 och child1_detail (möjligen NULL-paret) och det för närvarande NULL child1_id . Dito för child2*, etc. Observera att när du fyller i Children tabell har du redan parent_id tillgängliga.

Detta är ett helt SQL-sätt att utföra uppgiften. Det är bara lite mindre rörigt än att skriva Perl/PHP/Java/VB/vilken kod för att göra uppgiften.



  1. Hur man matar mysql-frågor från bash

  2. Använder olika databaser olika namncitat?

  3. Hur man fixar java.sql.SQLException:Kolumnen 'id' hittades inte. fel i Spring Boot

  4. Insamlingsmetod:Utöka procedur i Oracle Database