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

Administration MySQL Discussion :

Problème LOAD DATA et variables


Sujet :

Administration MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Problème LOAD DATA et variables
    bonjour,
    bon je suis loin d'etre un pro dans les requetes SQL
    et la g un probleme de variable
    je n'est jamais utilisé de variables dans une requete donc il doit y avoir un probleme tout simple mais je ne trouve pas

    voici ma requete (j'ai une erreure a la declaration de la premiere variable):
    LOAD DATA INFILE 'e:\\batchs\\inserbatch.blat' INTO TABLE donnees
    FIELDS TERMINATED BY ';'
    (chaine,@date,@hd,hf,duree,tcpu,part)
    SET date= TIMESTAMP(@date,@hd)
    ;

    pour ceux qui n'ont pas compri la requete j'ai 2 champs un date et un heure dans mon fichier et je voudrais l'insere dans une table avec un format datetime

    merci d avance


    [Titre édité par Maximilian]
    [Ancien titre :
    y a quelque chose qui cloche ??]

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Je ne pense pas que tu puisses faire cela directement.

    Ce que tu essayes de faire avec tes variables @date et @heure me fait penser à de l'unification comme dans certains langages fonctionnels, tels que Prolog. MySQL ne peux pas faire ça.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    merci pour ta reponse
    pourtant quand je lis la doc mysql:

    User variables in the SET clause can be used in several ways. The following example uses the first column in the data file directly for the value of t1.column1, and assigns the second column to a user variable that is subjected to a division operation before being used for the value of t2.column2:

    LOAD DATA INFILE 'file.txt'
    INTO TABLE t1
    (column1, @var1)
    SET column2 = @var1/100;

    The SET clause can be used to supply values not derived from the input file. THe following statement sets column3 to the current date and time:

    LOAD DATA INFILE 'file.txt'
    INTO TABLE t1
    (column1, column2)
    SET column3 = CURRENT_TIMESTAMP;

    You can also discard an input value by assigning it to a user variable and not assigning the variable to a table column:

    LOAD DATA INFILE 'file.txt'
    INTO TABLE t1
    (column1, @dummy, column2, @dummy, column3);

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Au temps pour moi alors... Dans ce cas c'est plus embêtant car je ne vois pas où est l'erreur.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Correction, j'ai trouvé: l'exemple apparait bien dans la version 5.1 du manuel mais pas dans la version 4.0. Donc c'est sans doute un problème de version.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    zut effectivement je suis en 4.1
    merci en tous cas ce fut rapide
    c dur de passer en 5.0?
    sachant que c'est un serveur de production et je n'ai pas de serveur de test pour le faire?

  7. #7
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par oops45
    sachant que c'est un serveur de production et je n'ai pas de serveur de test pour le faire?
    Dans ces conditions, c'est pas conseillé (à moins bien sûr que tu ne tiennes pas vraiment à ton emploi et que ça ne te dérange pas de te faire virer à coups de pompe dans le ...)

    Le mieux, dans ton cas, c'est de faire une table temporaire avec la date et l'heure et de remplir ta vraie table avec un SELECT approprié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO table
    SELECT ... # Pour le reste, on connait la chanson !
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    bon j'ai fait la sauvegarde de mes bases
    je tente de passer en version 5 je suis curieu

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Apres quelques frayeurs j'ai installé la version 5
    j'ai 2 service mysql v4 et v5 pour les tests c parfait !!
    ma requete ne fonctionne toujours pas mais le serveur ne me jette plus et accepte la requete c deja ca

    voici mon nouveau message d'erreur :

    ERROR 1262 (01000) at line 2: Row 1 was truncated; it contained more data than t
    here were input columns

    si qqu'un pouvait m'aider

    merci d'avance

  10. #10
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par oops45
    Apres quelques frayeurs j'ai installé la version 5
    Y'en a qui aiment se faire peur...

    Citation Envoyé par oops45
    si qqu'un pouvait m'aider
    Ben il suffit de savoir lire:

    Citation Envoyé par oops45
    ERREUR 1262 (01000) à la ligne 2: La ligne 1 a été tronquée; elle contient plus de données qu'il n'y a de colonnes en entrée
    En gros, t'as une erreur dans ton fichier (un ";" en trop?).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    mouaif bizar
    je suis obligé de mettre LINES TERMINATED BY '\r\n' pour que ca fonctionne alors qu'avant ca marchait sans...
    à voir

    sinon tu avais raison c implementé depuis la version 5 de mysql

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

Discussions similaires

  1. Problème LOAD DATA IN FILE
    Par LostRailler dans le forum Requêtes
    Réponses: 8
    Dernier message: 29/09/2011, 10h44
  2. Problème LOAD DATA LOCAL INFILE
    Par menakikou dans le forum Débuter
    Réponses: 1
    Dernier message: 01/05/2011, 02h48
  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. Problème load data et bigint
    Par _guigui_95 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/10/2006, 11h35

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