Hãy thử làm điều này với MySQL lập lịch :
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;
$$;
Nơi tbl.updated
là dấu thời gian của bạn (được tạo bằng php). Vì hộp kiểm tra của tôi không thể truy cập được atm, tôi không chắc liệu truy vấn này có chính xác hay không, nhưng nhìn chung, nó sẽ hoạt động tốt.