Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL VARCHAR jak Typ danych z MIN i MAX długością znaków

Możesz dodać wyzwalacz, aby zgłosić wyjątek, gdy wartości są poza zakresem, np.

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

Chociaż SIGNAL nie jest dostępny, wystarczy wywołanie niezdefiniowanej procedury składowanej (w tym przypadku col_length_outside_range_error ). W przeciwnym razie uważam, że aplikacja korzystająca z bazy danych będzie musiała przeprowadzić kontrolę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać nazwy kolumn tabeli w bazie danych w zend?

  2. Kursor procedury składowanej MySQL dla przygotowanych instrukcji

  3. Błąd zbyt wielu otwartych plików na Ubuntu 8.04

  4. Relacja jeden do jednego w MySQL

  5. Połącz się z serwerem MySQL przez SSH w PHP