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 :

deux champs identiques [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut deux champs identiques
    bonjour,

    j'ai créé un code en php, qui insére automatiquement dans une base de données mysql des valeurs

    pour éviter qu'il n'y ai plusieurs fois la même valeur, j'ai fais ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $rq  = "SELECT * FROM table WHERE valeur='".$valeur."'";
    $query = mysql_query($rq)  or die("Impossible d'exécuter la requête");
    $nb = mysql_num_rows($query);
     
    if ($nb==0)
    {
    echo $valeur."a été ajoutée avec succès dans la base de données !!<br>";
    mysql_query("INSERT INTO table ('$valeur')");
    }
    else
    {
    echo $valeur."existe déjà dans la base de données !!<br>";
    }
    }
    le problème, c'est que il y a énormement de données, plusieurs centaines de milliers ^^

    le script va énormement plus rapidement sans le "if ($nb==0)"

    y a-t-il un autre script plus rapide qui permet d'éviter d'avoir plusieurs données identiques dans la base de données ??

    merci d'avance

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Déjà pense à optimiser tes tables => explain, indexes, analyze
    Peut-etre que ça améliorera dans un premier temps tes perfs.

    Ensuite tu peux dire à mysql que telle ou telle colonne est unique. Tu délègues ainsi la gestion de l'unicité au niveau de ta couche de persistence. A voir si c'est vraiment ce que tu veux.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Merci bcp !!!!

    c'est parfé

    juste une chose, une fois qu'on a fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE `hash` ADD UNIQUE (
    `mdp`
    )
    comment le retirer ?

  4. #4
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    merci d'utiliser la balise [code]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    nn c'est bon j'ai trouvé

    en tout cas un grand merci Mr N.

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

Discussions similaires

  1. [MySQL] Select avec deux champs identiques
    Par avigeilpro dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/11/2009, 04h20
  2. Deux champs identiques dans la même table
    Par amne26 dans le forum Modélisation
    Réponses: 2
    Dernier message: 22/09/2008, 20h29
  3. [MySQL] Afficher valeur deux champs identiques
    Par Benzz dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/05/2008, 15h30
  4. [MySQL] sélectionner dans une table deux champs identiques
    Par zabdaniel dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/03/2008, 17h49
  5. Requete croisant deux champs identiques
    Par sabotage dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/08/2005, 11h59

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