Maison > base de données > tutoriel mysql > Comment puis-je importer avec succès un CSV avec des champs de texte multilignes dans MySQL ?

Comment puis-je importer avec succès un CSV avec des champs de texte multilignes dans MySQL ?

Barbara Streisand
Libérer: 2025-01-02 19:35:39
original
441 Les gens l'ont consulté

How Can I Successfully Import a CSV with Multi-Line Text Fields into MySQL?

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 :

  • COLUMNS TERMINATED BY ',' : délimiteur pour les colonnes
  • OPTIONNELLEMENT FERME PAR '"' : Délimiteur de texte field
  • ESCAPED BY '"' : Caractère d'échappement pour les guillemets dans les champs de texte
  • LINES TERMINATED BY 'n' : Délimiteur pour les lignes
  • IGNORER 1 LIGNE : ignore l'en-tête ligne

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal