Ne pas saisir plus au moins d'un nombre voulu

Résolu
cherine -  
 cherine -
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

  1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    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
    1. cherine
       
      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
    2. cherine
       
      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