Importation de données CSV dans une table MySQL avec mappage sélectif des colonnes
Lors de l'importation d'un fichier CSV avec des colonnes qui dépassent ou ne correspondent pas à la structure de la table , il peut être nécessaire d'ignorer certaines colonnes lors du processus d'importation. Dans ce cas, notre objectif est d'ignorer les colonnes 9 et 10 d'un fichier CSV et de mapper la colonne 11 à la colonne 9 de la table MySQL.
Pour ignorer les colonnes lors de l'opération LOAD DATA INFILE, MySQL fournit un mécanisme pour attribuer valeurs indésirables à une variable définie par l'utilisateur, puis ignorez complètement cette variable dans le mappage de colonnes.
L'exemple modifié suivant illustre cette technique :
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (col1, @dummy1, col2, @dummy2, col3, col4, col5, col6, col7, col8, @dummy3, col11)
Dans cet exemple, le @dummy1, Les variables définies par l'utilisateur @dummy2 et @dummy3 sont créées pour stocker les données indésirables des colonnes 9, 10 et 11, respectivement. Cependant, la colonne 11 est ensuite explicitement attribuée à la colonne 9 dans la définition du tableau.
En utilisant cette approche, le système ignore les colonnes 9 et 10 du fichier CSV et mappe avec succès les colonnes 1 à 8 et 11 aux colonnes correspondantes. colonnes dans 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!