Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2012, 05:07
roncco
 
Fecha de Ingreso: abril-2012
Mensajes: 63
Antigüedad: 12 años
Puntos: 2
Borrar registros antiguos con php y mysql

Os explico lo que estoy tratando de hacer, a ver si alguien me sabe decir dónde está el problema.

Cuando un usuario se loguea en la web, se le da de alta en la tabla Online, y entre otros datos se registra con NOW() en formato datetime la fecha y hora en que se loguea, en el campo "hora"

Cada treinta segundos, a través de un timer, se actualiza la fecha mientras el usuario sigue logueado. Si el usuario ya ha abandonado la aplicación, obviamente no se actualizan los datos de tiempo.
En el mismo lapso de tiempo (30 segundos) le paso otra función que debería borrar de la tabla Online todos los usuarios cuyo campo hora lleve al menos un minuto sin actualizar (que hayan abandonado la aplicación, vamos). Entonces hago esta consulta:

Código MySQL:
Ver original
  1. "DELETE FROM Online
  2.                  WHERE hora < (NOW() - INTERVAL 1 MINUTE)";

Pero no me borra los registros antiguos. Probé también con DATE_SUB, pero nada.

¿Qué estoy haciendo mal?