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 :

Chargement de données dans table mysql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Par défaut Chargement de données dans table mysql
    Bonjour,

    j'ai un petit souci: je charge dans une table des valeurs toutes les trentes minutes à partir d'un fichier txt.J'utilise donc la fonction suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LOAD DATA INFILE 'C:\\wamp\\mysql\\data\\stage\\data\\capteurs.txt' 
    INTO TABLE testtable_captor(id_captor,name,present);
    Mon problème est qu'au bout d'une demi heure,lorsque je veut recharger le fichier txt avec des nouvelles valeurs supplémentaires, il me met en double les valeurs du premier chargement.. Et je n'arrive pas à enlever ce problème de doublons..J'ai bien pensé à IGNORE, mais je ne suis pas sur qu'il fonctionne dans mon cas, où alors je n'arrive pas à l'utiliser. Et je ne veux pas faire un DROP testtable_captor. Il est nécessaire que je n'ajoute que les valeurs qui n'ont pas été au préalable chargées.. Merci pour voitre aide

  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 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Citation Envoyé par patsak Voir le message
    J'ai bien pensé à IGNORE, mais je ne suis pas sur qu'il fonctionne dans mon cas, où alors je n'arrive pas à l'utiliser.
    Bonjour,

    Comme ça peut-être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LOAD DATA INFILE 'C:\\wamp\\mysql\\data\\stage\\data\\capteurs.txt' 
    IGNORE INTO TABLE testtable_captor(id_captor,name,present);
    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 confirmé
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Par défaut
    Merci pour ta réponse ultra rapide!!lol

    C'est exactement ce que j'avais testé avec ignore, mais ça ne fonctionne pas. Ca serrait tellement plus simple!!

  4. #4
    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 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Comment est définie la table testtable_captor ?
    Quelle est sa clef primaire et le type de cette colonne ?

    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

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Par défaut
    j'avais hésité à donner la structure dès le premier message..je la donne alors!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE IF NOT EXISTS testtable_captor (
    	id_captor TINYINT UNSIGNED NOT NULL PRIMARY KEY,	/*Autofill ID*/		/*256*/
    	name VARCHAR(10) NOT NULL,
    	present BOOLEAN
    	) ENGINE = innodb COMMENT = 'Table des n° de tous les capteurs';
    En réalité j'ai le problème pour plusieurs tables, mais je pense que ça sera le même principe pour toutes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE IF NOT EXISTS testtable_data_temperature (
    	id_time MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,	/* 0 à 16 777 215*/
    	datetime DATETIME NOT NULL,
    	temperature1 TINYINT UNSIGNED ,	/*0 to 255*/
    	temperature2 TINYINT UNSIGNED)

  6. #6
    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 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Mis à part qu'il me refuse la syntaxe en laissant le nom des colonnes (il faut juste laisser le nom de la table) derrière le nom de la table dans le LOAD DATA INFILE, ça marche chez moi...
    Quelle est la structure du fichier texte (séparateur entre champs, séparateur entre lignes) ?

    Pour les autres tables, attention tout de même aux champs clé auto-incrémentés...

    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

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

Discussions similaires

  1. [MySQL] Suppression récurrente de données dans tables MySQL
    Par macgyver44 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/11/2014, 12h07
  2. CSV fichiers et chargement des données dans une table
    Par Lolitaaa dans le forum Oracle
    Réponses: 2
    Dernier message: 01/06/2010, 15h21
  3. insertion de données dans table mySQL
    Par kumo dans le forum ASP
    Réponses: 13
    Dernier message: 18/12/2007, 21h34
  4. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 17h25
  5. [MySQL] envoi des données de boutons radio dans table mysql
    Par alexbigot dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/06/2007, 13h51

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