Jeg foreslår udløsere. Dette er den bedste måde at sikre, at der ved hver indsats tages højde for den maksimale bordstørrelse.
Muligt duplikat af Hvordan kan jeg indstille et maksimalt antal rækker i MySQL-tabellen?
Fra det accepterede svar:
Prøv at lave en begrænsning for at tilføje en ny post til en tabel. Rejs en fejl, når en ny rekord skal tilføjes.
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 ;
Bemærk, at COUNT operation kan være langsom på store InnoDb-tabeller.
På MySQL 5.5 kan du bruge SIGNAL-sætning til at rejse en fejl.