Sauter des colonnes lors de l'importation CSV dans une table MySQL
L'importation de données d'un fichier CSV dans une table MySQL est une tâche courante. Cependant, vous pouvez parfois rencontrer des situations dans lesquelles vous devez ignorer certaines colonnes. Cet article fournit une solution pour ignorer les colonnes indésirables et mapper correctement les données restantes.
Scénario
Considérez un fichier CSV avec 11 colonnes et une table MySQL avec 9 colonnes . L'objectif est de mapper les colonnes 1 à 8 du fichier CSV directement aux 8 premières colonnes de la table MySQL. Les colonnes 9 et 10 du fichier CSV doivent être ignorées et la colonne 11 doit être mappée à la colonne 9 de la table MySQL.
Commande originale
Le SQL initial La commande utilisée, illustrée ci-dessous, mappe simplement les 9 premières colonnes du fichier CSV aux 9 colonnes du fichier MySQL. table.
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n'
Solution
Pour ignorer des colonnes lors de l'importation, vous pouvez utiliser une technique décrite dans la documentation MySQL. En attribuant les colonnes indésirables aux variables utilisateur dans l'instruction LOAD DATA, vous pouvez efficacement les supprimer. La commande modifiée ci-dessous illustre cette technique :
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (column1, @dummy, column2, @dummy, column3, column4, column5, column6, column7, column8, @dummy, @dummy, column11)
Dans cette commande améliorée, les colonnes indésirables (9 et 10) sont affectées à la variable utilisateur @dummy et supprimées lors du processus d'importation. En conséquence, les colonnes restantes sont correctement mappées comme souhaité : les colonnes 1 à 8 du fichier CSV sont mappées aux 8 premières colonnes de la table MySQL, tandis que la colonne 11 est mappée à la colonne 9 de la table MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!