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

J'ai besoin de fixer une limite maximum de lignes dans ma table MySQL. La Documentation de nous dire que l'on peut utiliser à la suite de code SQL pour créer la table:

CREATE TABLE `table_with_limit` 
   `id` int(11) DEFAULT NULL
) ENGINE=InnoDB MAX_ROWS=100000

Mais MAX_ROWS propriété n'est pas une limite matérielle ("ne pas stocker plus de 100 000 lignes et supprimer les autres"), mais un indice pour le moteur de base de données de ce tableau ont AU MOINS 100 000 lignes.

Le seul moyen que je vois pour résoudre le problème est d'utiliser BEFORE INSERT déclencheur qui va vérifier le nombre de lignes dans le tableau et de supprimer les anciennes lignes. Mais je suis assez sûr que c'est un énorme surchauffe :/

Une autre solution est de vider la table avec le script cron toutes les N minutes. C'est la manière la plus simple, mais encore faut-il un autre système à surveiller.

Quelqu'un connait une meilleure solution? 🙂

OriginalL'auteur WASD42 | 2011-11-08