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

[SOLUCIONADO] Escoger X filas mediante azar

Estas en el tema de Escoger X filas mediante azar en el foro de Mysql en Foros del Web. Tengo una tabla con 4 columnas, (id, uniqueid, numero y datetime).. La primera columna es autoincrementable la segunda es un valor unico por cada usuario ...
  #1 (permalink)  
Antiguo 17/07/2015, 08:01
 
Fecha de Ingreso: octubre-2011
Mensajes: 45
Antigüedad: 12 años, 6 meses
Puntos: 0
Escoger X filas mediante azar

Tengo una tabla con 4 columnas, (id, uniqueid, numero y datetime)..

La primera columna es autoincrementable la segunda es un valor unico por cada usuario existente, la tercera es un integer que identifica una 'accion' determinada que el usuario hizo, la ultima es un simple datetime.

Si solo me interesan las acciones que se hizo entre hoy y ayer, de esta forma puedo estar almacenando acciones que se hicieron hace meses o incluso años..

Tendria que poner una sentencia que borre todos los registros de fechas anteriores al dia anterior.

Mi pregunta es donde colocar esta sentencia.. como un trigger que se efectue cada vez que hago un insert?? Si hay poco trafico, ninguna sentencia insert en una semana, sencillamente no se borrarian esas entradas. Si hay mucho trafico podria estar constantemente lanzando la sentencia de borrado sin que la tabla sufra ningun efecto porque ya se habria borrado.

Creo que lo que necesito es cronjob y que se ejecute cada 24 horas. Es correcto??

Otra pregunta relacionado con esto.. Tiene algun tipo de valor que mantenga la columna 'id', es autoincrementable. En ninguna de mis sentencias en todo el projecto hago referencia a ella.
  #2 (permalink)  
Antiguo 17/07/2015, 08:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Escoger X filas mediante azar

Cita:
Mi pregunta es donde colocar esta sentencia.. como un trigger que se efectue cada vez que hago un insert??
No. Un TRIGGER en MySQL no puede realizar acciones DML (DELETE, UPDATE o INSERT) sobre la misma tabla donde se está ejecutando el evento que lo dispara.
Cita:
Creo que lo que necesito es cronjob y que se ejecute cada 24 horas. Es correcto??
Parecido.
MySQL cuenta con EVENT, que son los que deberías usar para esto.

https://dev.mysql.com/doc/refman/5.6...ter-event.html

Cita:
Otra pregunta relacionado con esto.. Tiene algun tipo de valor que mantenga la columna 'id', es autoincrementable. En ninguna de mis sentencias en todo el projecto hago referencia a ella.
Debe ser la PK, y una PK nosee debe eliminar. Pero para darte una respuesta necesitaríamos conocer la estructura y definición de PK que tiene tu tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: fecha, filas, mediante, registro, tabla
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 23:49.