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

Requêtes MySQL Discussion :

Problème LOAD DATA INFILE avec champs vide


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut Problème LOAD DATA INFILE avec champs vide
    Bonjour à tous,

    Je fais un load data :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    LOAD DATA INFILE 'import_baies.csv'
            REPLACE
            INTO TABLE STK_BAIES
    FIELDS 
            TERMINATED BY ';'
            ENCLOSED BY ''
            ESCAPED BY '\\'
    LINES
            STARTING BY ''
            TERMINATED BY '\r\n'
    (NUM_SERIE, DATE_MODIF, NOM, ENVIRONNEMENT, SITE, FOURNISSEUR, MODELE, DATE_INSTALLATION, SALLE, RANGEE, IP_SPA, IP_SPB, COMMENTAIRE);
    Et j'ai cette erreur:
    Incorrect date value: '' for column 'DATE_INSTALLATION' at row 50
    Effectivement dans mon fichier à la ligne 50 le champs est bien vide.
    Dans ma table j'ai pourtant mis que ce champs pouvait avoir une valeur null.

    Comment faire?
    Sous oracle on a dans un sqlloader une option : TRAILING NULLCOLS qui permet d'insérer les lignes même avec une colonne vide.

    Y a t'il l'équivalent avec le LOAD DATA pour mysql?

    Merci d'avance!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 145
    Points : 77
    Points
    77
    Par défaut
    Pour ceux que ca interessent, j'ai trouvé une solution.
    Mettre un @ devant un champs et un SET @variable... Comme si dessous!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    LOAD DATA INFILE 'import_baies.csv'
            REPLACE
            INTO TABLE STK_BAIES
    FIELDS 
            TERMINATED BY ';'
            ENCLOSED BY ''
            ESCAPED BY '\\'
    LINES
            STARTING BY ''
            TERMINATED BY '\r\n'
    (NUM_SERIE, @DATE_MODIF, NOM, ENVIRONNEMENT, SITE, FOURNISSEUR, MODELE, DATE_INSTALLATION, SALLE, RANGEE, IP_SPA, IP_SPB, COMMENTAIRE)
    SET DATE_MODIF = nullif(@DATE_MODIF,'');
    Voila!

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

Discussions similaires

  1. LOAD DATA INFILE et champs vides
    Par Invité dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/09/2011, 00h19
  2. [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
  3. [MySQL] Problème LOAD DATA INFILE
    Par DjiLow dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/06/2010, 11h24
  4. Problème LOAD DATA INFILE
    Par DjiLow dans le forum Requêtes
    Réponses: 17
    Dernier message: 16/06/2010, 13h32
  5. Fonction LOAD DATA INFILE avec un fichier source csv
    Par mabret dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 25/03/2008, 14h06

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