Corsi on-line

Eliminazione condizionale di record

In questo articolo mostrerò una semplice query tramite la quale sarà possibile eliminare tutti i record presenti all’interno di una tabella (gestita da un database MySQL) tranne quelli più recenti; nel nostro caso ci daremo un limite legato alla quantità: verranno eliminati tutti i record tranne gli ultimi 10.

Ecco il codice della nostra istruzione:

DELETE FROM tbl WHERE id < (SELECT * FROM (SELECT id FROM tbl ORDER BY id DESC LIMIT 9,1) AS newtbl)

Come è semplice notare, l’istruzione prevede la creazione di un alias che è il prodotto di due subquery, l’alias verrà utilizzato come termine di confronto per la query di eliminazione.

Post correlati
I più letti del mese
Tematiche