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

Comment puis-je définir un nombre maximum de lignes dans la table MySQL ?

Essayez de restreindre l'ajout d'un nouvel enregistrement à une table. Génère une erreur lorsqu'un nouvel enregistrement va être ajouté.

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 ;

Notez que cette opération COUNT peut être lente sur les grandes tables InnoDb.

Sur MySQL 5.5, vous pouvez utiliser SIGNAL // RESIGNAL déclaration pour générer une erreur.