Lors de l'importation de données d'un fichier CSV dans une table MySQL, il n'est pas toujours nécessaire de mapper toutes les colonnes. Parfois, il est souhaitable d'ignorer les colonnes non pertinentes ou d'éviter de mapper les colonnes où il existe une incompatibilité de données.
Problème :
Considérez un fichier CSV avec 11 colonnes :
col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11
Et une table MySQL avec seulement 9 colonnes :
col1, col2, col3, col4, col5, col6, col7, col8, col9
Le but est d'importer les colonnes 1 à 8 du CSV dans les 8 premières colonnes de la table MySQL, mais ignorez les colonnes 9 et 10 et puis mappez la colonne 11 du CSV à la colonne 9 du tableau.
Solution :
Pour ignorer les colonnes du CSV lors de l'importation, utilisez une variable @dummy dans le Commande LOAD DATA INFILE :
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table ( col1, @dummy1, col2, @dummy2, col3, col4, col5, col6, col7, col8, @dummy3, @dummy4, col9 ) FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n'
Dans cette commande :
Cette solution permet de mappage sélectif des colonnes CSV aux colonnes du tableau, même lorsqu'elles diffèrent en nombre.
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!