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 :

Importation de fichier et doublons [MySQL-5.1]


Sujet :

Administration MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 44
    Points : 28
    Points
    28
    Par défaut Importation de fichier et doublons
    Bonjour,

    Je suis novice en MySql et je suis en train de développer une application et C#.
    En fait, j'importe un fichier .csv dans ma base de données.

    Dans mon fichier csv, j'ai environ 1000 lignes, ces lignes représentes chacune une personne (Avec Nom, Prénom, Classe, N°Carte).
    J'importe ce fichier dans ma BDD, qui contient déjà des personnes.
    Il est donc fortement possible qu'il y est des doublons entre mon fichier csv et ma BDD.
    Comme le N°Carte doit etre unique, avec phpMyAdmin, je l'avais mis en Unique.
    Ça marche pas trop mal, mais je rencontre un soucis. En fait, des que je lance mon importation (donc le contenu de mon fichier csv est copié dans ma BDD), et qu'un doublon est rencontré, tout s'arrête. Au lieu de simplement 'zapper' cette personne, tout est arreté.

    Exemple : Si j'ai un fichier de 1000 personnes, et que le doublon apparaît à la 3eme ligne, les 997 autres personnes ne sont pas importées.

    Si avec visual studio, je passe en mode debug, je me rends compte qu'en fait, des que le doublon apparait, mon code passe directement dans le catch.

    Donc y a-t-il un autre moyen d'éviter les doublons ?
    Est-ce qu'il est possible de faire ça en modifiant ma requete sql ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     RPassageAnnee = "INSERT INTO eleves(Nom,Prenom,Classe,NumCarte) VALUES('" + Nom[i] + "','" + Prenom[i] + "','" + Classe[i] + "', '" + NumCarte[i] + "')";
                        MySqlCommand cmdPassageAnnee = new MySqlCommand(RPassageAnnee, conn);
                        cmdPassageAnnee.ExecuteNonQuery();
    Est-ce que l'on peut se servir de distinct dans ce cas, ou un ON DUPLICATE KEY ?

    Toute aide est la bienvenue !

    Merci d'avance

    Coxycross

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 44
    Points : 28
    Points
    28
    Par défaut
    J'ai trouvé la solution, je viens la poster ici, ça pourrait servir à quelqu'un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RPassageAnnee = "INSERT INTO eleves(Nom,Prenom,Classe,NumCarte) VALUES('" + Nom[i] + "','" + Prenom[i] + "','" + Classe[i] + "', '" + NumCarte[i] + "') ON DUPLICATE KEY UPDATE Nom=Nom";
    J'utilise donc le ON DUPLICATE KEY UPDATE, et dans ce UPDATE je ne fait aucune action qui pourrait modifier ma BDD

    Merci quand même

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/05/2011, 08h02
  2. [AC-2003] Doublon lors de l'importation de fichier Excel
    Par A0080 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 23/03/2011, 22h47
  3. Importer un fichier IDAPI32.cfg propre à chaque appli(BDE)
    Par carlhian dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/05/2004, 14h18
  4. Importer des fichiers textes délimités
    Par Invité dans le forum Outils
    Réponses: 2
    Dernier message: 23/09/2002, 13h56
  5. [DEV-C++]#import de fichier .tlb
    Par pdl dans le forum Dev-C++
    Réponses: 6
    Dernier message: 19/07/2002, 22h46

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