Hallo,
ich möchte meine Tabelle (id, timestamp, text) per Cronjob regelmäßig leeren lassen - bis auf die letzten (neuesten) 10 Einträge.
Bisher habe ich es so gelöst, dass ich zunächst per select die größte ID auslesen und dann per PHP 10 subtrahiere und mit neuem Query per DELETE alles lösche was kleiner dieses Wertes ist.
Geht es auch mittels eines einzigen Querys?
Mein Versuch war:
-> geht leider nicht.
ich möchte meine Tabelle (id, timestamp, text) per Cronjob regelmäßig leeren lassen - bis auf die letzten (neuesten) 10 Einträge.
Bisher habe ich es so gelöst, dass ich zunächst per select die größte ID auslesen und dann per PHP 10 subtrahiere und mit neuem Query per DELETE alles lösche was kleiner dieses Wertes ist.
Geht es auch mittels eines einzigen Querys?
Mein Versuch war:
Code:
mysql_query("DELETE FROM table WHERE id < MAX(id) - 10");
Kommentar