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
3
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