Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Borrar registros mysql de más de siete días

Estas en el tema de Borrar registros mysql de más de siete días en el foro de Mysql en Foros del Web. Me gustaría saber cómo se puede hacer para que los registros de una base de datos mysql puedan ser borrados automáticamente cada semana. Utlizo php ...
  #1 (permalink)  
Antiguo 09/09/2007, 09:45
Avatar de Moira  
Fecha de Ingreso: abril-2005
Mensajes: 56
Antigüedad: 19 años
Puntos: 1
Borrar registros mysql de más de siete días

Me gustaría saber cómo se puede hacer para que los registros de una base de datos mysql puedan ser borrados automáticamente cada semana.

Utlizo php y phpMyAdmin para administar la base de datos.

Gracias
  #2 (permalink)  
Antiguo 09/09/2007, 15:26
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Borrar registros mysql de más de siete días

Si estas en windows, creas una tarea programada.

Si estas en Linux, creas un cron que es similar a una tarea programada.

En eso, creas la sentencia SQL para que borre y el SO se encargará de ejecutarlo a la hora programada.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 10/09/2007, 11:45
Avatar de Moira  
Fecha de Ingreso: abril-2005
Mensajes: 56
Antigüedad: 19 años
Puntos: 1
Re: Borrar registros mysql de más de siete días

Gracias, lo intentaré
  #4 (permalink)  
Antiguo 10/09/2007, 15:46
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Borrar registros mysql de más de siete días

BrujoNic creo que deberías ayudarle un poco más al usuario, tal vez con códigos, o no sé... pero bueno...

Lo que tienes que hacer, es guardar los registros en la base de datos, con un campo llamado fecha. Ese campo fecha es el dia en que se agrego el registro a la bd.

Luego, haz una condición, de que si $fecha_actual es mayor $fecha_registro+7... sentencias de borrar el registro.

U otra alternativa.
Pon en el registro un campo fecha actual y otro campo fecha finaliza.
Entonces, ahi tienes alojado dos fechas, luego haz la condicion de que si fecha finaliza es menor que fecha actual, entonces procede a borrar ese registro.

Creo que algo así deberías probar. No creo que sea tan complejo hacerlo,

Saludos.
  #5 (permalink)  
Antiguo 10/09/2007, 19:42
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Borrar registros mysql de más de siete días

Cita:
Iniciado por carmagedon Ver Mensaje
BrujoNic creo que deberías ayudarle un poco más al usuario, tal vez con códigos, o no sé... pero bueno...
No le puedo ayudar con código porque esta es una sección de Base de Datos y no de código de programación.

Además, una tarea programada tampoco es MySQL, es solo una guía para que sepa donde buscar.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #6 (permalink)  
Antiguo 10/09/2007, 20:09
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Borrar registros mysql de más de siete días

Cita:
No le puedo ayudar con código porque esta es una sección de Base de Datos y no de código de programación.
Además, una tarea programada tampoco es MySQL, es solo una guía para que sepa donde buscar.
Vale, te entendí. No hay problema (Y). Entonces si es algo vinculado con PHP, tiene que ser trasladado al foro de php? es decir, si hay que poner codigos de php... que cansador te debe resultar para ordenar el foro uno por uno de los topics...

Saludos.
  #7 (permalink)  
Antiguo 10/09/2007, 21:00
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Borrar registros mysql de más de siete días

Una tarea programada no es programar en PHP. Es crear una sentencia SQL que se ejecuta en línea de comando, pero creándola con el administrador de tareas de window y en el mismo se le indica que borre los registros tomando la fecha actual del sistema.

Un ejemplo de ese DELETE sería:
Código PHP:
DELETE FROM tabla
WHERE fecha BETWEEN 
<fecha del sistema> - 7, <fecha del sistema
Es un DELETE sencillo pero tomando variables del SO (sistema operativo) para sacar la fecha actual.

Hacerlo en PHP, se tendría que ejecutar manualmente el código para que determine la fecha, o sea, no lo veo productivo.

Con una tarea programada, el SO se encargará de ejecutarlo cada 7 días sin entorpecer los demás procesos, pero eso aplica a equipos que trabajan las 24 horas para que lleve el control.

Ahí por lo menos está otra ayuda de como podría realizar el DELETE.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:53.