Einträge löschen, die älter als 1 Woche sind

Miraculixx

Erfahrenes Mitglied
Hallo!

Ich hab mir gerade die MySQL-Seite mit den Date-and-Time-Functions angesehen, und werde daraus leider nicht sehr schlau.

Was ich suche, ist ein Befehl, der alle Einträge aus meiner Tabelle löscht, die älter als eine Woche (also 7 Tage) sind.

Das Select sollte in etwa so aussehen:
Code:
delete from my_table where datum < now() - 7 Tage

Ich hoffe, es kann mir hier jemand weiter helfen.
Herzlichen Dank schon mal im Voraus! :)
 
Danke schon mal. Aber das geht leider nur nach dem ganzen Tag.

Da ich das Skript stündlich ausführen möchte, bräuchte ich was, das zumindest auf die Stunde genau überprüft.

Ich hoffe ihr könnt mir da noch einmal helfen.
 
Also hast du Datum & Zeit gespeichert? Dann würde sich eine Umwandlung in Unixtimestamp anbieten und die Subtraktion der beiden Datumswerte (now() und das Datum/Zeit) mit 7 Tagen in Sekunden umgerechnet vergleichen. Schau dir am besten dazu die Datums- und Zeitfunktionen an.
 
Herzlichen Dank! So hab ich es jetzt hinbekommen :)

Also es sieht jetzt in etwa so aus:
SQL:
delete from my_table where (unix_timestamp() - unix_timestamp(datum)) > 604800
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück