Mysql
 sql >> Base de données >  >> RDS >> Mysql

Téléchargement de fichiers CSV pour gérer la mise à jour du statut et l'insertion de nouveaux enregistrements

Il y a deux scénarios ici :

  1. les colonnes du tableau correspondent exactement aux colonnes csv. dans ce cas REPLACE est la réponse - c'est un mot-clé pour le LOAD DATA INFILE voir entrée de documentation

  2. les colonnes de la table ne correspondent pas aux colonnes csv : REPLACE entraînerait un conflit enregistrements à supprimer et à réinsérer, supprimant ainsi les données supplémentaires. Dans ce cas LOAD DATA INFILE n'est pas efficace en soi, vous avez besoin d'une autre approche en filtrant votre fichier avant, en effectuant des mises à jour via php ou une autre méthode.

Dans tous les cas, si vous souhaitez ajouter plus de "logique" au processus d'importation, peut-être LOAD DATA INFIlE n'est pas vraiment la bonne approche, mais l'utilisation de tables temporaires peut très bien être de bénéficier de toutes les bonnes bases de données.