Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Modifier la valeur du champ après X minutes d'inactivité

Essayez de le faire avec MySQL planification :

  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;
  $$;

tbl.updated est votre horodatage (généré avec php). Comme ma boîte de test est inaccessible, je ne sais pas si cette requête est correcte, mais en général, elle devrait faire l'affaire.