Datenbank Spalte Datensatz Verfallszeit

  • Abend,
    gibt es eine Möglichkeit, dass einen Datensatz, in einer bestimmten Spalte, nach einer bestimmten Zeit wieder auf default gesetzt wird?

    Hintergrund:
    Ich möchte, wenn ein User sich einloggt,
    in die spalte aktiv ne 1 schreiben. Allerdings loggt er sich nicht sicher aus.
    D.h. ich möchte das der Eintrag z.B. 20 Minuten nach der letzten Änderung einfach wieder auf 0 gesetzt wird.

  • Die db macht das nicht von alleine. Die macht immer nur soviel, wie ihr gesagt wird.
    Und schätze nen cron willste nicht.

    Aber geh anders ran: kein bool, sondern ein Zeitstempel.
    mal ganz grob:
    select id, name, ..., lastactive from tbl where ....

    if(time()-lastactive < x){
    ist nicht mehr aktive
    }

    EDIT: Du kannst das auch noch besser lösen

    SQL
    SELECT lastactive
    FRON tbl...
    WHERE 
     id = :id
     AND NOW()-lastactive > :x
  • dein sql versteh ich nicht :D

    1.) ich bin (noch) nicht fit mit oop
    2.) naja ich will keine liste mit usern die aktiv sind ;)

    Aber danke für den Timestamp Tipp :)

  • probier mal das hier:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!