sql >> Database >  >> RDS >> Mysql

CSV-bestand uploaden om statusupdate af te handelen en nieuwe records in te voegen

Er zijn hier twee scenario's:

  1. de kolommen van de tabel komen exact overeen met de csv-kolommen. in dat geval REPLACE is het antwoord - het is een sleutelwoord voor het LOAD DATA INFILE zie documentinvoer

  2. de kolommen van de tabel komen niet overeen met de csv-kolommen:VERVANGEN zou conflicterende veroorzaken records moeten worden verwijderd en opnieuw worden ingevoegd, waardoor de aanvullende gegevens effectief worden verwijderd. In dat geval LOAD DATA INFILE is op zichzelf niet effectief, je hebt een andere aanpak nodig door je bestand eerder te filteren, updates uit te voeren via php of een andere methode.

In ieder geval, als je meer "logica" aan het importproces wilt toevoegen, misschien LOAD DATA INFIlE is niet echt de juiste aanpak, maar het gebruik van tijdelijke tabellen kan heel goed zijn om te profiteren van alle goede databases die bieden.




  1. MySQL - opgeslagen procedure retourneert onverwachte waarde

  2. JOIN (SELECT ... ) ue ON 1=1?

  3. [UPDATE 2] Kritiek:Office Update verbreekt toegang - Query is beschadigd

  4. MySQL-back-ups beveiligen:een gids