Condividi
Settare il numero max di righe in una tabella
Giornalmente per un dato servizio devo mostrare solo i dati degli ultimi 10 record inseriti in una tabella MySql, quelli più vecchi non mi interessano e comunque il giorno successivo non avrebbero più senso.
Pertanto anziché far crescere inultilmente le dimensioni della tabella con records inutilizzati cerco un modo affinché la tabella mysql accetti solo un numero massimo di records inseriti, ad esempio N=10, e far sì che prima che inserisca l'undicesimo (N+1) sia cancellato il record più vecchio. C'è un modo per fare questo?
In Corso
4
MySql
14-12-2018
2 Risposte
2057 Visite
0
Risposte ( 2 approvate )
Che io sappia non c'è un modo di default per settare la tabella MySql ad accettare un numero massimo di records, potresti impostare un trigger che all'evento
'INSERT'
verifichi se il record o i records inseriti siano maggiori di N, ed in quel caso prima di eseguire la query d'inserimento andrebbe a cancellare i records più vecchi in eccesso.Con un trigger che verifichi il numero di records inseriti è sicuramente la soluzione ideale, se non hai confidenza con essi potresti anche lanciare da sistema uno script ad intervalli regolari che controlli il numero di records presenti nella tabella MySql e cancelli quelli in eccesso.