Ich würde es so machen:
Einfügen des Logs
Nachschauen wie viele Datensätze vorhanden sind
Überflüssige löschen
Löschen geht mit:
Herausfinden welcher der letzte Eintrag ist welcher bleiben soll:
SELECT id,timestamp FROM datenbank WHERE 1 ORDER BY timestamp DESC LIMIT x,1 // x ist die Anzahl wie viele Maximal da sein sollen
dann hast du die ID und den Timestamp vom letzten und kannst alle löschen wo der Timestamp kleiner ist als der.
Ich hoffe, das klappt so
ist nämlich nur eine grobe Überlegung gewesen
Flare