Implémentation d'une limite de lignes stricte dans les tables MySQL
Question : les concepteurs sont souvent confrontés à la nécessité d'appliquer une limite maximale aux lignes stockées dans une table MySQL . Existe-t-il une méthode définitive pour atteindre cette restriction au-delà de la simple spécification d'un indice ?
Réponse : La définition d'une limite maximale de lignes est un défi courant dans les bases de données. Bien que la propriété MAX_ROWS agit comme une suggestion plutôt que comme un plafond absolu, il existe effectivement des moyens d'imposer une limite stricte aux tables MySQL :
Mécanisme basé sur un déclencheur :
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 ;
Remarque : Les opérations COUNT peuvent ralentir sur les grandes tables InnoDb.
Instructions de signal/resignal MySQL 5.5 :
Méthode de script Cron :
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!