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.
Ältere DB Einträge löschen
gepostet vor 16 Jahre, 11 Monate von azamaroth
gepostet vor 16 Jahre, 11 Monate von Agmemon
DELETE
FROM TABELLE
WHERE Datum < DATE_SUB(NOW() INTERVAL 3 DAY);
oder so ähnlich
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
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 ...
... DATE_SUB(NOW() INTERVAL 3 DAY ...