MySQL - alte nachrichten löschen (durch anzahl?)
-
Brauche für meine seite eine MySQL-anfrage, die die alten nachrichten (also, zeilen) löscht. Die Eintragszeit ist als unix-timestamt in einer Col eingegeben (als integer).
Aber: es müssen nicht die nachrichten gelöscht sein, die vor bestimmten zeitpnkt geschrieben wurden, sondern es müssen die ältesten gelöscht sein, so, dass nur 25 nachrichten bleiben.
Wie kann man das machen?
Danke im voraus
-
MySQL kann sowas:
DELETE FROM tabelle ORDER BY zeitstempel LIMIT 25
EDIT: Hups, habs leider verdreht
-
jo, ist noch nicht ganz das...
-
Na ja, Du mußt das ganze nur noch anpassen...
DELETE FROM tabelle WHERE NOT (id IN ( SELECT id FROM tabelle ORDER BY zeitstempel DESC LIMIT 25))
Hab kein mySQL, wenn Deine Version Subselects zuläßt und die Limit-Syntax so richtig ist, sollte das funktioniern
-
Joe_M. schrieb:
Na ja, Du mußt das ganze nur noch anpassen...
DELETE FROM tabelle WHERE NOT (id IN ( SELECT id FROM tabelle ORDER BY zeitstempel DESC LIMIT 25))
Hab kein mySQL, wenn Deine Version Subselects zuläßt und die Limit-Syntax so richtig ist, sollte das funktioniern
cool, werd das heute ausprobieren - danke schön!