SQL Daten löschen die älter als 24 Stunden



  • Hi,

    ich hab eine MySQL Datenbank mit einer Spalte 'Date' vom Typ Timestamp nun möchte ich alle Einträge löschen, die älter als 24 Stunden sind, wie geht das?

    Bisher hab ich:

    DELETE FROM Table01 WHERE DateDiff(???)
    

    [Edit]
    Wo liegt hier der Fehler?

    $sql = "DELETE FROM
                    Table01
                WHERE
                    DATEDIFF('h', Date, NOW()) >= 24";
    

    PHP meldet:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' NOW()) >= '24'' at line 4
    [/Edit]

    Gruß
    Scarabol



  • Mach's doch anders rum. Bilde in php das Datum/Uhrzeit was vor 24h war und frage in der DB ab was älter als dieses Datum ist.



  • Ich habs nun wie folgt gelöst, trotzdem danke.

    $sql = "DELETE FROM
                    Table01
                WHERE
                    Date_Sub(NOW(), INTERVAL 24 HOUR) > Date";
    

Anmelden zum Antworten