Champs pouvant contenir que 4 valeurs...

Résolu
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008 - 26 janv. 2006 à 14:01
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 27 janv. 2006 à 10:23
J'ai une table utilisateur, un champs num_droit ou je souhaiterais
qu'il n'y ait que les valeurs 1, 2, 3, 4 que l'on puisse rentrer, donc
interdire les autres, comment faire dans la structure de ma table???



Merci The MaXi BesT of MoChE...

6 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 15:35
L'enum c'était uniquement pour lui dire qu'il pouvait n'avoir QUE ces 4 valeurs.
S'il consent à imposer cette limite en php, alors oui, un tinyint est largement préférable.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 14:05
Hello,

tu peux les interdire dans ton script php ?
Sinon, tu as bien le type ENUM, mais bon...
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
26 janv. 2006 à 14:13
Ouais je sais que je peux les interdire avec php, mais c'étais
uniquement afin d'avoir une BD plus propre, mais c'est bon je vais
faire ca comme tu me conseil, c'est plus simple pour un même resultat,
enfin pour l'usage que je souhaite en faire, merci a toi malalam....
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
26 janv. 2006 à 14:27
Salut!
Peut être qu'un tinyint en unsigned est plus propre qu'un enum, dans ton cas....

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
27 janv. 2006 à 00:30
Ouais mais pour des raisons strict, autant utiliser ENUM dans ce cas la.
J'imagine que le jour où il va reprendre son script et qu'il va faire une boulette genre mettre une valeur autre que 1 2 3 ou 4, ca risque de faire mal :)

Enfin moi je parle d'un point de vue très strict, autrement un tinyint(1) et une vérif PHP if ( $x >= 1 && $x <= 4) devrait pouvoir suffit :)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 janv. 2006 à 10:23
Ouais, sauf que Enum n'existe pas sur toutes les bdd...loin de là. J'ai dû, à mon taf, modifier tous les enum que mon collègue avait mis (il avait remplacé mes tinyint justement lol, que j'avais mis en prévision du changement de bdd) et les rechanger en tinyint parce qu'on basculait l'appli sous mssql.
0
Rejoignez-nous