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

PHP & Base de données Discussion :

Suppression de tous les doublons


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut Suppression de tous les doublons
    Bonjour a toute et a tous.

    Je souhaiterai supprimer les doublons dans ma base de donnée.
    voila ce que je fais comme requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT `admin_nom`
    FROM `calcul`
    GROUP BY `admin_nom`
    HAVING COUNT( `admin_nom` ) >1
    Lorsque je veux supprimer mes doublons je le fais a la main. C'est a dire que je me connecte a phpmyadmin ensuite je clique sql et je lance la requete.

    ensuite je les selectionne et je les supprime une par une.

    Maintenant ce que je voudrais faire c'est que ca soit automatique!! C'est a dire que sur mon site web je créé un lien pour me faire ca mais automatiquement. J'ai juste a cliquer sur "supprimeré mais je n'arrive pas a construire ma requete du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    elete from `calcul`
    where `admin_nom` =
    IN
    (
    SELECT `admin_nom`
    FROM `calcul`
    GROUP BY `admin_nom`
    HAVING COUNT( `admin_nom` ) >1
    )
    Merci


    Pour info


    Mysql 4.1.7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE IF NOT EXISTS `calcul` (
      `admin_nom` varchar(10) NOT NULL default '',
      `total` varchar(10) NOT NULL default ''
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    Merci de m'aider.

  2. #2
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Voila une requete simple et rapide qui te permet de supprimer des boublons dans ta table....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $req="select count(*) from latable where lechamp='".$la_variable_a_tester."'";
    $res=mysql_query($req);
    if(mysql_result($res,0)==0)
    {
    // on fait ce qu'il faut
    }
    else
    {
    // la valeur existe déjà, on fait autre chose
    }
    ?>
    La variable à tester pourra venir d'une requete et ainsi tu pourras la faire varier............ou mettre la requette dans une boucle....

  3. #3
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Si j'ai bien compris la problematique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE FROM calcul
    WHERE admin_nom IN (
      SELECT admin_nom FROM calcul
    );
    Mais au lieu d'effectuer cette suppression pourquoi ne pas ajouter une contraite au CREATE TABLE pour empecher les doublons au niveau du nom de l'admin ? (clé primaire ou contrainte d'unicité)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut
    C'est exactement ca !! c'est bien la promblematique cette requette!..
    Merci de votre aide

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2006, 00h22
  2. Suppression de tous les enregistrements
    Par Bouillon dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/11/2006, 22h44
  3. suppression de tous les mots de moins de 3 caracteres
    Par HurtMarley dans le forum Langage
    Réponses: 3
    Dernier message: 14/02/2006, 01h20
  4. Réponses: 5
    Dernier message: 18/01/2006, 14h05
  5. Suppression de tous les fichiers textes d'un répertoire
    Par Cathy dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 20/09/2005, 17h11

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