Ne pas saisir plus au moins d'un nombre voulu

Résolu/Fermé
cherine - Modifié par cherine le 1/07/2012 à 12:40
 cherine - 3 juil. 2012 à 10:14
Bonjour,
J'aimerai savoir est ce que c'est possible de limiter un champ
Dans le sens si je déclare par exemple:
Un champ Varchar(5) avec un code SQL en plus
L'utilisateur ne peut saisir que 5 caractères PAS PLUS PAS MOINS
Par exemple:
S'il essaye de saisir : 4 caractères ,3 ,2 ou 1 un message d'erreur est alors affiché
Et s'il saisit plus de 5 caractères, un message d'erreur s'affiche aussi
Merci de me proposer une solution :)


1 réponse

jee pee Messages postés 39650 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 9 238
1 juil. 2012 à 13:15
Salut,

Il faudrait pour que quelqu'un puisse prendre en compte ta question que tu précises :

- avec quel SGBD tu travailles
- avec quel outil, langage tu développes (php, asp, ...)

cdlt
0
Je travail avec Mysql comme SGBD et
Avec un ETL : NEOFI
Je veux juste que ça soit Mysql qui réagit
Lorsque je saisis par exemple dans Mysql plus de 5 ou moins de 5 caractères j'ai un message d'erreur de Mysql
Je ne veux pas faire ça par programmation
Merci encore
0
Bonjour,
je propose la solution qu'une collègue à moi de travail a trouvé
DELIMITER $$ 
CREATE TRIGGER trigger1 
BEFORE INSERT 
ON 'budget' 
FOR EACH ROW 
BEGIN 
    if CHAR_LENGTH(NEW.'Cod_Ag') <> 5 or (select NEW.'Cod_Ag') not regexp '[0-9][0-9][0-9][0-9][0-9]' then 
    call something; 
END IF; 
    if CHAR_LENGTH(NEW.'Cod_Ind') <> 7 or (select NEW.'Cod_Ind') not regexp '[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9]' then 
    call something; 
      END IF; 
END$$ 
DELIMITER; 



Bon courage et très bonne continuation à tous
0