您好我有一个MySQL数据库表,用户输入消息(通过表单),我想知道是否有一种方法可以在1分钟过后自动删除消息? 我正在使用的代码是PHP。 非常非常感谢任何回复:)
答案 0 :(得分:4)
嗯,您可以在执行任何其他操作之前始终运行删除查询。例如,每当您检查邮件时,请先删除超过1分钟的所有邮件。
我认为我宁愿不要获得超过1分钟的消息。它可以很好用日志:)
答案 1 :(得分:4)
我可以想出两种方法来实现这一目标。
答案 2 :(得分:2)
将消息插入数据库时,存储time_created时间戳。然后在PHP中,只显示时间戳在当前时间1分钟内的消息。
答案 3 :(得分:1)
使用cron作业清除旧邮件。
答案 4 :(得分:1)
答案 5 :(得分:1)
建立一个cron服务是我脑海中浮现的第一件事,尽管这可能是一个不必要的复杂问题。
您可以在sleep 1分钟后执行插入的同一脚本中调用delete。
sleep ($seconds);
// call the delete query
另一种方法是将延迟逻辑传递给将为您执行删除的Mysql trigger。
SELECT SLEEP(<seconds>);
答案 6 :(得分:1)
解决方案1:用户cron作业,每分钟运行一次以检查和删除
解决方案2:使用ajax做那项工作
我个人建议第一个解决方案,但如果你没有SSH访问服务器,你必须选择第二个:D
答案 7 :(得分:0)
感谢所有的回复/帮助:) Svish的第一个建议'你可以在做其他任何事情之前总是运行删除查询。例如,每当您检查邮件时,请先删除超过1分钟的所有邮件。会工作......如此明显不知道为什么我没有想到那个doh!再次感谢every1。