IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Fonction LOAD DATA INFILE avec un fichier source csv


Sujet :

SQL Procédural MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Fonction LOAD DATA INFILE avec un fichier source csv
    Bonjour à tous,

    je suis nouveau sur ce forum. J'aimerais bientot pouvoir contribuer aux réponses.

    Je vous demande votre aide concernant la fonction LOAD DATA INFILE pour importer dans une table un fichier CSV

    J'exécute le script suivant :

    LOAD DATA LOCAL INFILE "nom fichier.CSV"
    INTO TABLE nom de la table
    FIELDS
    TERMINATED BY ';'
    ENCLOSED BY '"'
    ESCAPED BY '\\'
    LINES
    STARTING BY ''
    TERMINATED BY '\n'
    IGNORE 1 LINES

    Cette commande exécute l'insertion des lignes, mais j'ai un message d'erreur :
    Row 1 was truncated; it contained more data than there were input columns

    et la dernière colonne de ma table contient l'enregistrement inital+ un caractère spécial

    D'avance merci si vous avez une solution

  2. #2
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    montre nous les quelques premières ligne de ton csv, ainsi que la structure de ta table

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Voila les quelques premières lignes sans les libellés de colonne :

    "0000";"01";"FR";"LIBELLE9";"ST";"";"Z0";"AH";"02";"";"EM";"EM";200101;21;"AH";"Z0 ";"Z0 ";"Z0 ";"";"P";"Z0 ";"";"";20080305;09;"";"LOGICIEL"
    "0000";"02";"FR";"LIBELLE7";"ST";"";"Z0";"PT";"01";"";"IN";"IN";000;2100;"PT";"Z0 ";"Z0 ";"Z0 ";"";"L";"Z0 ";"";"";20080305;0500;"";"LOGICIEL"
    "0000";"03";"FR";"LIBELLE5";"ST";"";"Z0";"PI";"01";"";"IN";"IN";200;2100;"PI";"Z0 ";"Z0 ";"Z0 ";"";" K";"Z0 ";"";"";20080305;0500;"";"LOGICIEL"
    "0000";"04";"FR";"LIBELLE3";"ST";"";"Z0";"PH";"01";"";"IN";"IN";2000;2100;"PH";"Z0 ";"Z0 ";"Z0 ";"";" K";"Z0 ";"";"";20080305;0500;"";"LOGICIEL"
    "0000";"05";"FR";"LIBELLE1";"ST";"";"Z0";"PI";"01";"";"IN";"IN";2000;21000;"PI";"Z0 ";"Z0 ";"Z0 ";"";"KG";"Z0 ";"";"";20080305;0500;"";"LOGICIEL"
    "0000";"06";"FR";"LIBELLE";"ST";"";"Z0";"PJ";"01";"";"IN";"IN";2001;21000;"PJ";"Z0 ";"Z0 ";"Z0 ";"";" L";"Z0 ";"";"";20080305;0500;"";"LOGICIEL"

    Il y a également la structure de la table cible en pièce jointe, et c'est la dernière colonne, la colonne 27 qui me pose des problèmes.

    Encore merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    je pense à l'enclosed et au starting by qui pourrait causer problème

    peut être en essayant ceci :

    Code MySQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    LOAD DATA LOCAL INFILE "nom fichier.CSV"
    INTO TABLE nom de la table
    FIELDS
    TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY '"'
    ESCAPED BY '\\'
    LINES
    TERMINATED BY '\n'
    IGNORE 1 LINES

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je viens d'essayé, mais j'ai toujours le même message d'erreur.

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Je pense qu'avec ce nouveau code ca fonctionne.

    En fait,
    en plus du \n qui est le retour à la ligne,
    il faut rajouter le \r qui est le retour chariot.

    LOAD DATA LOCAL INFILE "fichier.CSV"
    INTO TABLE nomtable
    FIELDS
    TERMINATED BY ';'
    OPTIONAlLY ENCLOSED BY '"'
    ESCAPED BY '\\'
    LINES
    TERMINATED BY '\r\n'
    IGNORE 1 LINES

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème LOAD DATA INFILE avec champs vide
    Par Tonii dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/08/2012, 14h02
  2. Load Data Infile avec Wamp
    Par Eleanor dans le forum Requêtes
    Réponses: 177
    Dernier message: 11/07/2012, 13h03
  3. load data infil avec valeur passée avec $1
    Par ldiaz dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/05/2012, 16h34
  4. Vitesse de LOAD DATA INFILE avec un gros fichier
    Par Nasky dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/05/2012, 19h18
  5. [MySQL] Syntaxe requête LOAD DATA INFILE avec php
    Par yann123456 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/08/2010, 23h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo