Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL - Modifica il valore del campo dopo X minuti di inattività

Prova a farlo con la 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;
  $$;

Dove tbl.updated è il tuo timestamp (generato con php). Poiché il mio banco di prova è irraggiungibile, non sono sicuro che questa query sia corretta, ma in generale dovrebbe funzionare.