Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2011, 00:36
xwalero
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Prunning de datos MySQL?

Hola... cómo puedo hacer un prunning de datos antiguos?
El caso particular es el siguiente. Hice un sistema de registro de usuarios que tiene verificación por mail, envía un link con un código generado al azar... al momento de hacer click a ese código, éste se borra en la db y los datos del usuario son ingresados a una tabla de usuarios registrados. Pero pensé en el caso de que alguien nunca hiciera click en el código o que lo reenviara una y otra vez... entonces debo tener una función para poder eliminar todos los códigos que tienen, por ejemplo, 7 días de antigüedad desde que fueron generados.
Estuve leyendo al respecto pero tengo muchas dudas al respecto... llegué a un artículo que decía que el uso de DATETIME era ridículo (http://billauer.co.il/blog/2009/03/mysql-datetime-epoch-unix-time/) y, en cambio, proponía el uso de un punto de referencia fijo dentro de cualquier zona horaria, lo que es bastante lógico... pero tengo dudas respecto a cómo utilizar la función que él propone. Alguna idea?

encontré algo parecido
DELETE FROM codigos WHERE time < TIMESTAMPADD(DAY,-1,NOW());
pero eso está usando el tiempo del servidor, y es lo que se quiere evitar... entonces, debería crear una tabla primaria en la que introduzca el valor UNIX_TIMESTAMP( NOW() )?? de hecho, es posible introducir un valor como ese en una consulta MySQL mediante PHP? si así fuera, cómo podría comparar ese número con el tiempo en que fue creada la db (algo así como un tiempo 0), para elegir borrar los que tienen 7 días de antigüedad?