Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL VARCHAR като тип данни с MIN и MAX дължини на знаци

Можете да добавите задействане, за да изведе изключение, когато стойностите са извън диапазона, напр.

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 ;;

Докато SIGNAL не е наличен, извикването на недефинирана съхранена процедура би било достатъчно (в този случай col_length_outside_range_error ). В противен случай смятам, че приложението, използващо базата данни, ще трябва да направи проверките.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Актуализиране на множество стойности и WHERE IN

  2. Превенция срещу MySQL инжектиране

  3. Мигриране на база данни на Oracle към MySQL на AWS, част 2

  4. Извличане на последния запис на потребител

  5. Защо два първични ключа в таблица не са разрешени?