MySql: alle Datenbnk Einträge löschen (bis auf die ersten 30!)
Jenny Rheingoal
- datenbank
Hallo ihr lieben!
Ich würde meine MySQL Datenbank gerne automatisiert aufräumen hab allerdings nicht den richtigen Query, damit >> die letzten 30 Einträge sortiert nach Datum erhalten bleiben <<:
ich dachte mir sowas wie:
DELETE FROM table ORDER BY time DESC LIMIT 30, 100000
^^ funktioniert leider nicht...
wer kanns besser?
würde mich riesig über einen Tipp, eine Lösung oder ein Workaround freuen!
herzlichen Dank!!
J. Rheingoal
Hi!
Soo bewandert bin ich mit der MySQL-Syntax auch nicht. Aber wie wärs denn damit:
Erst den dreissigsten Eintrag (nach Datum geordnet) auslesen, und dann alles löschen, was älter als das ausgelesene Datum ist.
Viele Grüße,
Benni
Halihallo Jenny
Ich würde meine MySQL Datenbank gerne automatisiert aufräumen hab allerdings nicht den richtigen Query, damit >> die letzten 30 Einträge sortiert nach Datum erhalten bleiben <<:
Eine schöne Lösung kann ich nicht finden (nun, die 4 gefällt mir,
hängt jedoch von der Version des MySQL-Systems ab)...
Zusatz: Arbeite bei derartigen Geschichten und Workarounds _immer_
mit Table-LOCK, sonst gibts irreparablen Datenverlust!
ich dachte mir sowas wie:
DELETE FROM table ORDER BY time DESC LIMIT 30, 100000
^^ funktioniert leider nicht...
Dann _immer_ Fehler + Version angeben!
Viele Grüsse
Philipp