Php 设置MySQL表数据的过期时间

Php 设置MySQL表数据的过期时间,php,mysql,sql,Php,Mysql,Sql,在我正在构建的MySQL数据库中,我有一个列,其中有一个简单的0或1(true或false)数据字段。所有数据最初都设置为0。如果用户按下我正在构建的网站上的按钮,它将(在数据库中)从0更改为1,以显示用户已登录。我希望它们在一天结束时自动注销(同样,这是通过将它们设置为0来实现的) 问题是:有没有办法在一段时间后使数据“过期”并将其设置回默认值(或0)?如果是的话,是否可以基于特定的时间段 如果有任何SQL命令或方法可以执行此操作,那么PHP呢?如果不触发一个过程,您在这里可能会运气不佳。但是

在我正在构建的MySQL数据库中,我有一个列,其中有一个简单的0或1(true或false)数据字段。所有数据最初都设置为0。如果用户按下我正在构建的网站上的按钮,它将(在数据库中)从0更改为1,以显示用户已登录。我希望它们在一天结束时自动注销(同样,这是通过将它们设置为0来实现的)

问题是:有没有办法在一段时间后使数据“过期”并将其设置回默认值(或0)?如果是的话,是否可以基于特定的时间段


如果有任何SQL命令或方法可以执行此操作,那么PHP呢?

如果不触发一个过程,您在这里可能会运气不佳。但是,为什么不执行以下操作:使用日期代替布尔值,并在登录时设置日期。然后,询问登录日期是否为当前日期,而不是询问登录是否为真。无需进行过期清理,问题已解决。

如果不触发程序,您可能会在这里运气不佳。但是,为什么不执行以下操作:使用日期代替布尔值,并在登录时设置日期。然后,询问登录日期是否为当前日期,而不是询问登录是否为真。无需过期清理,问题已解决。

您可以使用事件(http://dev.mysql.com/doc/refman/5.1/en/events.html)或crontab(仅限linux/unix)

您可以使用这些事件(http://dev.mysql.com/doc/refman/5.1/en/events.html)或者crontab(仅linux/unix)

mysql具有一些任务调度功能。php没有。但是您可以使用系统调度器(例如unix cron)在指定时间运行php脚本。我想您已经回答了我的问题,这是一种理想的方式,“在指定时间运行php脚本”。您能告诉我更多信息吗?mysql有一些任务调度功能。php没有。但是您可以使用系统调度器(例如unix cron)在指定时间运行php脚本。我想您回答了我的问题,这是一种理想的方式,“在指定时间运行php脚本”。您能告诉我更多关于这一点吗?您有一个很好的观点。。。我会帮你改正的。我想得太多了。因为现在你不再受每天一个触发器的限制,你也可以将该条件更改为小于24小时的间隔。在只针对0或1的列中,我现在使用的是当天的日期(PHP:
date('d');
),所以今天是1月11日,输入的数据将是11。只有标记为“值班”的才会与今天的日期关联。我要再加一张支票
如果输入的日期与今天不匹配,请将其重置为0
。这一点非常重要。。。我会帮你改正的。我想得太多了。因为现在你不再受每天一个触发器的限制,你也可以将该条件更改为小于24小时的间隔。在只针对0或1的列中,我现在使用的是当天的日期(PHP:
date('d');
),所以今天是1月11日,输入的数据将是11。只有标记为“值班”的才会与今天的日期关联。我要再加一张支票<代码>如果输入的日期与今天不匹配,请将其重置为0。