Datensätze löschen die älter als 30 Minuten sind
Erhard
- datenbank
0 dave0 martin882 Matti Mäkitalo
ich habe in meiner Datenbank (tabelle) ein Feld (datum) in der ein Timestamp steht, nun möchte ich alle Einträge löschen die älter als 30 Minuten sind
DELETE FROM tabelle WHERE datum < date_add(current_date, interval -30 minute)
Fehlermeldung bekommeich keine, aber Datensätze sind auch nicht gelöscht.
Erhard
Hi,
DELETE FROM tabelle WHERE datum < date_add(current_date, interval -30 minute)
Was liefert SELECT * FROM tabelle WHERE datum < date_add(current_date, interval -30 minute)
?
~dave
ich habe in meiner Datenbank (tabelle) ein Feld (datum) in der ein Timestamp steht, nun möchte ich alle Einträge löschen die älter als 30 Minuten sind
DELETE FROM tabelle WHERE datum < date_add(current_date, interval -30 minute)
Fehlermeldung bekommeich keine, aber Datensätze sind auch nicht gelöscht.
Erhard
DELETE FROM tabelle WHERE datum < NOW() - INTERVAL 30 MINUTE
Oder mit date_add
das + bzw - ersetzt dir das date_add
Hi,
ich habe in meiner Datenbank (tabelle) ein Feld (datum) in der ein Timestamp steht, nun möchte ich alle Einträge löschen die älter als 30 Minuten sind
DELETE FROM tabelle WHERE datum < date_add(current_date, interval -30 minute)
Das löscht alle Einträge aus tabelle, deren Feld datum kleiner ist als "Gestern 23:30 Uhr".
CURRENT_DATE zeigt auf "Heute, 0:00 Uhr", nicht auf "Jetzt". Du willst vielleicht CURRENT_TIMESTAMP oder NOW() nutzen.
Bis die Tage,
Matti
Hi Matti,
Das löscht alle Einträge aus tabelle, deren Feld datum kleiner ist als "Gestern 23:30 Uhr".
Yep, desweiteren würde ich dann vorschlagen auch noch direkt DATE_SUB() zu verwenden - sieht irgendwie einfach schöner aus ;-)
DELETE FROM tabelle WHERE datum < DATE_SUB(NOW(), INTERVAL 30 MINUTE)
Viele Grüße,
~ Dennis.
Hi!
Yep, desweiteren würde ich dann vorschlagen auch noch direkt DATE_SUB() zu verwenden - sieht irgendwie einfach schöner aus ;-)
DELETE FROM tabelle WHERE datum < DATE_SUB(NOW(), INTERVAL 30 MINUTE)
Ich finde die Schreibweise ohne die Funktionsnamen DATE_ADD/SUB schöner.
DELETE FROM tabelle WHERE datum < NOW() - INTERVAL 30 MINUTE
Lo!