Champ considéré unique alors qu'il ne l'est pas

Fermé
hygin - 10 févr. 2013 à 20:10
 hygin - 11 févr. 2013 à 14:35
Bonjour,

J'ai actuellement un problème avec ma base de données mysql (gérée avec phpmyadmin).

En effet, depuis que j'ai commencé à attaquer la partie css il m'est impossible de créer 2 entrées avec le champ "email" identique, alors que ce champ n'est pas défini comme étant "unique".
Je ne sais pas si cela a un lien avec le css (et j'en doute, franchement) mais cela marchait très bien avant.
Lorsque je veux ajouter une entrée manuellement via PHPMyAdmin, j'obtiens l'erreur suivante :

#1062 - Duplicate entry '[mon mail]' for key 'mail_2'

D'avance merci,

Vincent.

6 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
11 févr. 2013 à 00:24
"#1062 - Duplicate entry '[mon mail]' for key 'mail_2' "

MySQL ne répondra jamais cela si ce n'est pas vrai.

Que donne comme résultat la commande :

desc [nom_de_la_table]
0
Merci pour la réponse,

Lorsque je fais la commande DESC ['pages']

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '['pages']' at line 1

Comment résoudre ça?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
Modifié par arth le 11/02/2013 à 12:42
Je pense qu'avant de vouloir utiliser PHPMA, il faudrait déjà commencer par SQL :-)

J'ai mis nomdelatable entre crochets pour signaler que c'était à remplacer, mais j'aurais peut être dû l'expliciter également :-(

La commande exacte serait donc si "pages" est la table :

DESC pages;


Le loup, solitaire et mystérieux.
0
Ah oui effectivement, j'ai quelques lacunes niveau syntaxe MySQL...

desc tables affiche :



Field
Type
Null
Key
Default
Extra

Modifier
Copier
Effacer
id
int(11)
NO
PRI
NULL
auto_increment

Modifier
Copier
Effacer
nom
varchar(255)
NO
UNI
NULL

Modifier
Copier
Effacer
description
text
NO
NULL

Modifier
Copier
Effacer
mail
varchar(255)
NO
UNI
NULL

Modifier
Copier
Effacer
mdp
varchar(50)
NO
NULL

Modifier
Copier
Effacer
ip
int(10) unsigned
NO
NULL


Je vois donc la clé "uni" sur le champ "mail", ce qui n'est pas normal. Lorsque je clique sur "modifier", je retourne sur la requete SQL "desc pages"...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
11 févr. 2013 à 12:57
Cela ne paraît pas déconnant ceci dit.

Cela empêche ainsi qu'une personne ne crée deux comptes avec le même email.

Et cela permet dans le cas où on rajoute une option permettant de recevoir son mot de passe, qu'il n'y ait bien qu'une seule entrée mail correspondant à un seul compte.

A moins qu'il y ait un réel intérêt à pouvoir rentrer deux fois le même email ?
0
J'ai supprimé et recréé la table, tout remarche à nouveau.
Merci quand même pour l'aide, et si tu sais l'origine du problème je veux bien que tu me la dises ! :)

Pour le fait qu'il y ait plusieurs entrées avec la même adresse mail c'est volontaire, car ce n'est pas un système de cours mais simplement un système d'administration/modération de pages, où une combinaison mail/mdp est associée à une page et non au site.

Merci beaucoup,

Hygin.
0