Fixer une valeur Max et Minimale à un champ sql ?
Bonjour les devs, j\'aimerai savoir si c\'est possible de fixer une valeur maximale et minimale à un champ sql. Ex: valeur maximale 150, valeur minimale -150.
PS: je sais que je peux aussi récupérer la valeur du champ et adapter ma requette derrière mais j\'aimerai faire ça le plus proprement possible.
Merci d\'avance amis chouals :)
Salut,
Avec Mysql c\'est impossible. Par contre c\'est possible avec un SGBD différent comme PostgreSQL :
CREATE TABLE matable
(monchamp integer CHECK(monchamp BETWEEN -150 AND 150));
Si j\'ai bien compris ce que tu veux faire, tu peux faire ça avec n\'importe quel champ numérique http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html par contre je sais pas si tu peux fixer toi même les limites...
Utiliser une condition dans la requête.
Il n\'y a pas d\'autre moyen, mise à part un ENUM mais fastidieux et absolument pas efficace.
oui j\'y avais pas pensé, en fait un simple update WHERE mon_champ < $max fera l\'affaire. Dans tous les cas merci à tous :)
Ce que tu peux faire est de ce genre (je pense, à vérifier donc):
INSERT INTO tabase (colonne)
VALUES( IF(tavaleur <= 150, ( IF(tavaleur >= -150), tavaleur, -150), 150) )
Je te conseille de toujours traiter les données avant donc en php si tu es sous ce language. Si les conditions sont respectées, là tu balance ta requête.
Mauvais conseil. On effectue toujours le code data coté serveur, en cas de coupure.
Dans l\'idéal, le PHP ne devrait avoir que des fonctions d\'une ligne à appeler pour exécuter le code SQL coté serveur.
Effectivement, les contraintes CHECK sont syntaxiquement valides sous MySQL mais n\'ont aucun effort, sur aucun moteur. Cela dit, il n\'a employé ni le mot \"php\" ni \"mysql\" mais simplement \"sql\". Mais comme d\'hab, vous tirez des conclusions hâtives (même si cette fois, ça semble correct).
Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.
En accédant à ce site, tu acceptes nos conditions d'utilisation.