Navrhuji spouštěče. Toto je nejlepší způsob, jak zajistit, aby při každém vložení byla brána v úvahu maximální velikost tabulky.
Možný duplikát z Jak mohu nastavit maximální počet řádků v tabulce MySQL?
Z této přijaté odpovědi:
Pokuste se omezit přidávání nového záznamu do tabulky. Upozornit na chybu, když bude přidán nový záznam.
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 ;
Pamatujte, že operace COUNT může být pomalá na velkých tabulkách InnoDb.
Na MySQL 5.5 můžete použít příkaz SIGNAL k vyvolání chyby.