mmofacts.com

Ältere DB Einträge löschen

gepostet vor 16 Jahre, 11 Monate von azamaroth
Hallo!
Ich möchte folgendes durchführen lassen:
In meiner Datenbank sollen alle Einträge, die älter sind als 3 Tage, gelöscht werden.
Wie kann ich so etwas am besten mit SQL bewerkstelligen? Ich habe das Datenbankfeld datum vom Typ date (z.B. "2007-07-17").
Gibt es eine schnelle Möglichkeit ohne umständlich etwas in PHP zu programmieren.
gepostet vor 16 Jahre, 11 Monate von Agmemon
DELETE
FROM TABELLE
WHERE Datum < DATE_SUB(NOW() INTERVAL 3 DAY);
oder so ähnlich
gepostet vor 16 Jahre, 11 Monate von Kapsonfire
ich würde ja mit timestamps arbeiten
dann brauchst du nur ein delete machen where timestamp<(UNIX_TIMESTAMP-(60*60*24*3))
und schon sind alle beiträge die älter sind als 3 tage gelöscht
gepostet vor 16 Jahre, 11 Monate von knalli
Mit DATE geht das genauso, musst nur einmal umwandeln. Siehe dazu. UNIX_TIMESTAMP(), NOW(), FROM_UNIXTIME()... wenn es MySql ist.
gepostet vor 16 Jahre, 11 Monate von azamaroth
Danke. Habt mir sehr geholfen, ich nutze nun diese Methode:
... DATE_SUB(NOW() INTERVAL 3 DAY ...

Auf diese Diskussion antworten