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

 MySQL Discussion :

Insertion avec LOAD DATA LOCAL INFILE


Sujet :

MySQL

  1. #1
    Membre du Club
    Profil pro
    Développeur Full Stack
    Inscrit en
    novembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : novembre 2007
    Messages : 101
    Points : 52
    Points
    52
    Par défaut Insertion avec LOAD DATA LOCAL INFILE
    Bonjour,

    Je souhaite insérer des enregistrements dans une table Mysql, à partir d'un fichier texte produit par Paradox 7 (de Borland), en utilisant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOAD DATA LOCAL INFILE "mon_fichier_texte" INTO TABLE ma_table;
    Lorsque j'utilise le séparateur "tabulation" lors de l'exportation depuis paradox, l'insertion dans la table mysql se passe apparemment bien, sauf pour la dernière colonne. Est-ce lié au caractère de fin de ligne ?

    Je souhaiterai essayer avec le séparateur ";".

    Quelqu'un peut-il me dire comment indiquer à Mysql que je change le séparateur par défaut (tabulation) en point-virgule ?

    Ou bien existe-t-il une autre solution plus simple et plus fiable à mettre en oeuvre ?

    Merci.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    6 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 6 000
    Points : 23 655
    Points
    23 655
    Par défaut
    Bonjour,

    Citation Envoyé par Krys006 Voir le message
    Lorsque j'utilise le séparateur "tabulation" lors de l'exportation depuis paradox, l'insertion dans la table mysql se passe apparemment bien, sauf pour la dernière colonne. Est-ce lié au caractère de fin de ligne ?
    Il y a de fortes chances, oui... Dans la commande LOAD DATA..., tu peux lui indiquer un autre caractère de fin de ligne par l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LOAD DATA LOCAL INFILE "mon_fichier_texte" 
    INTO TABLE ma_table
    LINES TERMINATED BY '\r\n';
    ... par exemple.


    Citation Envoyé par Krys006 Voir le message
    Je souhaiterai essayer avec le séparateur ";".

    Quelqu'un peut-il me dire comment indiquer à Mysql que je change le séparateur par défaut (tabulation) en point-virgule ?
    Tu ajoutes un autre paramètre FIELDS TERMINATED BY ';' à la commande, comme précédemment. Ce qui donnes, au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LOAD DATA LOCAL INFILE "mon_fichier_texte" 
    INTO TABLE ma_table
    FIELDS TERMINATED BY ';'
    LINES TERMINATED BY '\r\n';
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre du Club
    Profil pro
    Développeur Full Stack
    Inscrit en
    novembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : novembre 2007
    Messages : 101
    Points : 52
    Points
    52
    Par défaut Afficher du texte entre les commandes
    Merci beaucoup,

    et désolé pour ma réponse tardive.

    Je suis parvenu à ce que je voulais avec vos conseils. Depuis j'ai un peu progressé et réussi à exécuter des commandes SQL depuis un fichier batch. Il y a cependant un truc simple que je n'arrive pas à faire, et je n'ai rien trouvé dans la doc MySQL.

    J'utilise un fichier contenant les commandes SQL à exécuter, les réponses étant envoyées vers des fichiers texte au moyen des commandes \T fichier_réponse.txt et \t.

    Mais, pour m'y retrouver ensuite dans mes fichiers contenant les réponses, je souhaite y faire figurer du texte pour expliquer de quoi il s'agit, à certains endroits. Or, je ne parviens à utiliser la commande print convenablement, à moins qu'il existe, comme en php, une commande echo.
    Est-ce possible et comment procéder ?

    Merci.

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

Discussions similaires

  1. [PDO] LOAD DATA LOCAL INFILE avec PDO MySql
    Par ultimus dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/07/2015, 11h54
  2. [MySQL-5.1] LOAD DATA LOCAL INFILE problème avec ²
    Par tabtabdev dans le forum Requêtes
    Réponses: 0
    Dernier message: 30/01/2015, 10h03
  3. Syntaxe LOAD DATA LOCAL INFILE avec CSV
    Par armand6464 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/01/2015, 14h27
  4. [MySQL] Errcode: 2 : Problème avec Load data local infile
    Par Jarod51 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 26/09/2011, 16h55
  5. probleme avec <<load data local infile etc>> errcode: 2
    Par oumaridia dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/11/2007, 08h13

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