Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso definir um número máximo de linhas na tabela MySQL?


Tente fazer uma restrição ao adicionar um novo registro a uma tabela. Gera um erro quando um novo registro for adicionado.
DELIMITER $$

CREATE TRIGGER trigger1
BEFORE INSERT
ON table1
FOR EACH ROW
BEGIN
  SELECT COUNT(*) INTO @cnt FROM table1;
  IF @cnt >= 25 THEN
    CALL sth(); -- raise an error
  END IF;
END
$$

DELIMITER ;

Observe que a operação COUNT pode ser lenta em grandes tabelas InnoDb.

No MySQL 5.5 você pode usar SIGNAL // RESIGNAL declaração para gerar um erro.