sql >> Base de Datos >  >> RDS >> Mysql

MySQL:cambie el valor del campo después de X minutos de inactividad

Intenta hacer esto con MySQL scheduling :

  DELIMITER $$
  CREATE EVENT deactivation
    ON SCHEDULE EVERY 10 MINUTE STARTS CURRENT_TIMESTAMP
    DO
      BEGIN
        UPDATE tbl SET tbl.active = FALSE
           WHERE tbl.active = TRUE AND 
           ( TIME_TO_SEC( TIMEDIFF (NOW(),tbl.updated) ) / 60 ) > 10;
      END;
  $$;

Donde tbl.updated es su marca de tiempo (generada con php). Como mi caja de prueba es inalcanzable en el cajero automático, no estoy seguro de si esta consulta es correcta, pero en general, debería hacer el trabajo.