Requete SELECT vérifiant l'unicité d'une valeur d'un champ

Djim_
Invité n'ayant pas de compte PHPfrance

28 mars 2009, 20:00

Bonjour,

Le titre de ce post est peut-etre particulier alors je m'explique sur le probleme que je rencontre.
J'ai une base de donnée qui collecte les adresse email venant des inscriptions newsletter de plusieurs sites.

Aussi, quand j'interroge ma bdd, j'ai fréquement des adresses email en doublon, triplon, quadriplon, ..... et je passe la suite... lol

Existe-t'il une requête qui me permettrait d'interroger ma base de données en ne ressortant qu'une fois les valeurs en plusieurs exemplaires ?

un truc style "SELECT * FROM clients WHERE email IS PAS DEJA PASSE" ?

Merci pour votre réponse.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 mars 2009, 21:04

Existe-t'il une requête qui me permettrait d'interroger ma base de données en ne ressortant qu'une fois les valeurs en plusieurs exemplaires ?
Pour cela, tu peux utiliser l'instruction DISTINCT dans ta requête :)
un truc style "SELECT * FROM clients WHERE email IS PAS DEJA PASSE" ?
Pour cela, le plus simple serait de faire un COUNT(*) pour trouver le nombre d'enregistrement correspondant à ton email, et ne l'insérer que si celui-ci n'existe pas encore :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 3300 Messages

29 mars 2009, 01:15

plus généralement un champ destiné aux emails devrait être unique dans ton cas, vaut mieux prévenir que guérir comme dit le dicton :)
Fait du php depuis que ca existe ou presque :)