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 1844 Visite 0
Agostino Marticoli

Agostino Marticoli

Autore di questa domanda

Risposte ( 2 approvate )

  1. Michele Brughese
    +1
    14-12-2018 17:03:52
    Rispondi

    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.

  2. Giacomo Barrile
    -1
    14-12-2018 17:06:56
    Rispondi

    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.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva