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

Caricamento di file CSV per gestire l'aggiornamento dello stato e l'inserimento di nuovi record

Ci sono due scenari qui:

  1. le colonne della tabella corrispondono esattamente alle colonne csv. in tal caso REPLACE è la risposta:è una parola chiave per LOAD DATA INFILE vedere voce doc

  2. le colonne della tabella non corrispondono alle colonne CSV:REPLACE causerebbe conflitto record da rimuovere e reinserire, rimuovendo di fatto i dati aggiuntivi. In tal caso LOAD DATA INFILE non è efficace di per sé, è necessario un altro approccio con il filtraggio del file prima, l'esecuzione di aggiornamenti tramite php o qualche altro metodo.

In ogni caso, se vuoi aggiungere più "logica" al processo di importazione, magari LOAD DATA INFIlE non è proprio l'approccio giusto, ma l'uso di tabelle temporanee potrebbe benissimo trarre vantaggio da tutte le bontà fornite dai database.