Champs pouvant contenir que 4 valeurs... [Résolu]

Signaler
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
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

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

tu peux les interdire dans ton script php ?
Sinon, tu as bien le type ENUM, mais bon...
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008

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....
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
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???"
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
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 :)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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.