Cita:
Iniciado por akrogonac creo el sp en vez del evento?
pero entonces como hago que se cargue 1 vez al dia?
Siento mi ignorancia. Gracias por tu tiempo
No exactamente. En el EVENT llamas al SP.
En cuanto al tema de la repitencia, ¿cuál es exactamente el problema de que se repita dos veces el mismo usuario?
Si el tema es que no se repita dos días seguidos, simplemente mantienes un registro de los que se seleccionaron, junto con la fecha de selección y lo pones como parte del filtro.
Es decir, que no sólo filtre por nombre, sino que además lo haga descartando aquellos que hayan sido seleccionados en los X días anteriores al presente.
Algo como:
Código SQL:
Ver originalDELIMITER $$
CREATE PROCEDURE sorteo
BEGIN
CREATE TEMPORARY TABLE usersorteo
AS
SELECT nombre, CURDATE() fechaPub
FROM usuarios
WHERE `user`NOT IN (SELECT `user` FROM aleatorio WHERE fechaPub >= DATE_SUB(CURDATE, INTERVAL 7 DAY))
ORDER BY rand() LIMIT 2;
INSERT INTO aleatorio(`user`, fechaPub
SELECT *
FROM usersorteo;
SELECT *
FROM usersorteo;
END$$
Eso haría que se repitan aquellos que se publicaron hace más de una semana.