MasterWu: löschen was älter ist als...X

Wie kann ich unter mysql alle datensätze löschen die älter sind als 1 Stunde?
Ich speichere das Datum in einem TIMESTAMP()

  1. Hallo,

    $now = time();
    DELETE FROM tabelle WHERE (timestamp + 84600) < $now

    Viele Grüße,
    Philip

    1. Hi,

      Du meintest wohl WHERE TIMESTAMP()+84600 < TIMESTAMP(CURRENT_TIMESTAMP())

      Es gibt keinen Grund unnötige Dinge tun zu lassen ;-)

      LG

    2. Hallo,

      $now = time();
      DELETE FROM tabelle WHERE (timestamp + 84600) < $now

      Viele Grüße,
      Philip

      PS: Seitwann hat ne Stunde 84600 Sekunden?

      1. Hallo,

        PS: Seitwann hat ne Stunde 84600 Sekunden?

        Ups. War wohl ein Reflex, weil ich selbst immer nur Tage verwende für solche Vergleiche verwende. Nunja, dann sinds eben 3600 Sekunden.

        Viele Grüße,
        Philip

    3. $now = time();
      DELETE FROM tabelle WHERE (timestamp + 84600) < $now

      Diese Stunde kommt mir wie ein ganzer Tag vor.

      Abgesehen davon ist es immer eine gute Idee, wenn Zeitpunkte von einem eindeutigen Zeitgeber benutzt werden - also verwendet man schlauerweise nur die Uhr des Datenbankservers - was wiederum dann verbietet, Zeiten von extern (z.B. durch time() von PHP aus) einzuschleppen. MySQL kennt nämlich auch NOW().