Foros del Web » Programando para Internet » PHP »

Limitar BD en MySQL

Estas en el tema de Limitar BD en MySQL en el foro de PHP en Foros del Web. Amigos, tengo una base de datos en MySQL en la cual almaceno la IP y la Fecha de la gente que accede a mi pagina ...
  #1 (permalink)  
Antiguo 19/04/2002, 19:00
 
Fecha de Ingreso: febrero-2002
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Limitar BD en MySQL

Amigos, tengo una base de datos en MySQL en la cual almaceno la IP y la Fecha de la gente que accede a mi pagina web, el problema es el siguiente: quisiera que los registros de la base de datos se eliminasen cada 24 horas o cada cierto numero de registros, o que al llegar a cierto numero de registros al poner uno nuevo se eliminase el mas antiguo, Soy muy novato y no se como hacerlo, me he peleado sin consultar aqui en el foro la manera de hacer la base de datos y como entrarle los registros, pero ahora ya estoy perdido.
Muchas gracias
  #2 (permalink)  
Antiguo 19/04/2002, 19:55
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Limitar BD en MySQL

mira, lamentablemente en el mysql todabia no han implementado los famosos triggers (comandos de sql que se ejecutan ante ciertos eventos, como podria ser que los registros en tu tabla lleguen a cierto numero), por ende tienes dos formas de hacer lo que quieres, que no son todo lo optimas que uno podria desear, pero en fin...

1) antes del query que inserta en la tabla puede hacer uno que consulte por la cantidad de registros, y si estos llegan a N (el numero que tu desees) haces un segundo query que borra la tabla y ahi recien haces el query que inserta, no es la mas optima.

2) si tu tabla tiene una columna con la fecha y hora de la visita, puedes hacer un query que borre los registros cuya fecha sea menor a la fecha actual menos 1 dia (o el tiempo que quieras dejar los registros almacenados). de esta forma solamente conservaras los registros correspondientes al ultimo dia, semana, mes o el periodo que desees. un ejemplo de query puede ser

delete from nombre_de_la_tabla where nombre_de_la_columna_con_la_fecha < date_sub(now(), -1 day)

espero que te sirva

saludos


  #3 (permalink)  
Antiguo 19/04/2002, 20:01
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Limitar BD en MySQL

perdonnnnnnnnn
corrijo el query, estaba pensando en cualquier cosa

delete from nombre_de_la_tabla where nombre_de_la_columna_con_la_fecha < date_sub(now(), 1 days)

disculpas por las molestias, las roturas de servidores, la suba del dolar, y los infartos de miocardio ocasionados

saludos
  #4 (permalink)  
Antiguo 20/04/2002, 17:33
 
Fecha de Ingreso: febrero-2002
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Re: Limitar BD en MySQL

Gracias CHUBU lo intentare asi.
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 20:51.