Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL VARCHAR comme le type de données avec des longueurs de caractères MIN et MAX

Vous pouvez ajouter un déclencheur pour lancer une exception lorsque les valeurs sont en dehors de la plage, par exemple

DELIMITER $$

CREATE TRIGGER `insert_table_var` BEFORE INSERT ON `table` 
FOR EACH ROW
BEGIN
     DECLARE str_len INT DEFAULT 0;
     DECLARE max_len INT DEFAULT 10;
     DECLARE min_len INT DEFAULT 6;

     SET str_len = LENGTH(NEW.col);

     IF str_len > max_len OR str_len < min_len 
     THEN
           CALL col_length_outside_range_error();
     END IF;
END $$
DELIMITER ;;

Tant que SIGNAL n'est pas disponible, appeler une procédure stockée indéfinie suffirait (dans ce cas col_length_outside_range_error ). Sinon, je pense que l'application utilisant la base de données devra faire les vérifications.