Siechfred: Fehler in MySQL Abfrage?

Beitrag lesen

Tag Fabienne.

SELECT irgendwas FROM users WHERE (UNIX_TIMESTAMP(last_login) > ( UNIX_TIMESTAMP() - 1000 )) AND id='DIE_USER_ID'
Ich will nur "irgendwas" erhalten, wenn der User NICHT innerhalb der letzten 1000sec eingeloggt war.

Dann wäre der Vergleich aber falsch rum formuliert:

SELECT spalten FROM tabelle WHERE (UNIX_TIMESTAMP(last_login)<(UNIX_TIMESTAMP()-1000)) AND id=user_id

Zur Verdeutlichung (aus mySQL-Handbuch, Kap. 7.3.4):

UNIX_TIMESTAMP('1997-10-04 22:23:00' => 875996580 (A)
UNIX_TIMESTAMP()-1000                => 882225357 (B)

Dein Vergleich "A>B" liefert falsch, er soll aber wahr sein (es sind ja mehr als 1000 Sekunden vergangen). Somit müsste er "A<B" lauten.

Siechfred