有没有办法在30天后自动执行SQL查询?实际上我想在没有手动编辑的情况下将帐户的状态从活动状态更改为非活动状态
答案 0 :(得分:2)
您需要使用cronjob,编辑 / etc / crontab 文件来设置新作业,如:
0 0 30 * * apache php /path/yourScript.php
这将在每月30日执行。
答案 1 :(得分:1)
MySQL 5.1.6+有Event Scheduler。
如果您使用的是早期版本,则可以编写一个执行所需SQL的小脚本,并使用at,cron或类似版本进行安排。
答案 2 :(得分:1)
您可以在mysql中使用Event Scheduler
答案 3 :(得分:0)
CREATE EVENT e_hourly
ON SCHEDULE
EVERY 1 HOUR DO ***your update query here***
答案 4 :(得分:0)
你必须在服务器上设置一个cronjob,就像Ignacio Ocampo说的那样。
在您的数据库中,您必须创建一个列(last_activity)来跟踪用户上次登录的时间(我建议使用unix时间戳)
然后,在将运行cronjob的PHP脚本上,更新行,例如:
PHP:$timestamp = time() - 60 * 60 * 24 * 30;
SQL:UPDATE users_table SET active = 0 WHERE last_activity < $timestamp