Tom: Eine Lösung in MySQL gefunden, neues Problem erfunden!

Beitrag lesen

Hello,

Danke für den Ansatz Tom. hätte man das auch irgendwie mit mysqlfunktionen machen können? bei mir hat es erst so funktioniert.

Nochmal gaaanz kurz nachgedacht und Fehler entdeckt:

$sql = "delete from LOGIN
        where unix_timestamp(LOGINTIME) < (unix_timestamp(now()) - 3600)";

Die Funktion now() gibt leider den Timestamp auch als DateTime formatiert zurück. mann muss also erst wieder zurückrechnen.

Dafür kannst Du beim Eintragen einfach

insert into LOGIN set LOGINTIME=now();

schreiben.

Zu berücksichtigen wäre noch, WANN die Funktion now() evaluiert wird:
a) auf Query-Ebene
b) auf Satzebene

????

Wer weiß das genau?

Schließlich dauert es bei großen Datenbeständen schon ein paar Sekunden vom ersten bis zum letzten Datensatz

Grüße

Tom