Importer des fichiers CSV dans des tables MySQL
Le chargement de fichiers CSV dans des tables MySQL peut être une tâche simple, mais il peut parfois rencontrer des complications dues à problèmes de formatage. Un de ces problèmes survient lorsque le fichier CSV contient plusieurs lignes de texte dans certains de ses champs.
Dans le scénario présenté, l'utilisateur a créé une table MySQL avec des colonnes correspondantes pour chaque champ du fichier CSV, y compris VARCHAR( 256) champs pour les textes de présentation. Cependant, lors de la tentative de chargement des données à l'aide de l'instruction LOAD DATA INFILE, la table entière était remplie de valeurs NULL.
Le problème sous-jacent provenait du comportement par défaut de MySQL consistant à analyser les nouvelles lignes comme délimiteurs de lignes. Pour résoudre ce problème, l'utilisateur a spécifié des paramètres supplémentaires dans l'instruction LOAD DATA, notamment :
Bien que cette approche ait permis à l'utilisateur de charger le nombre correct d'enregistrements, certaines données sont restées dans le mauvais ordre. Pour résoudre ce problème, l'utilisateur a exploré des méthodes alternatives pour importer le fichier CSV.
Une méthode recommandée impliquait l'utilisation de l'outil mysqlimport :
mysqlimport --ignore-lines=1 \ --fields-terminated-by=, \ --local -u root \ -p Database \ TableName.csv
Cet outil permet de spécifier divers paramètres similaires au LOAD. Instruction DATA, comprenant les délimiteurs de ligne et de champ. En utilisant mysqlimport, l'utilisateur peut s'assurer que les données sont chargées dans le bon format et dans le bon ordre.
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!