我正在开发一个
的应用程序我真的不知道如何处理这个,所以这是我的问题:
time_left
列?我计划在Perl中编写这个脚本,虽然我对语言选择,框架等方面的建议持开放态度......我实际上是Web开发的新手(在后端和前端都是如此) ),如果你能准确地告诉我,我会很感激的。
谢谢!
*发布后,Topener提出了一个有效的问题:
如果不会要求用户,为什么要存储用户?
假设用户只是坐在数据库中。
假设我从用户添加到数据库后每隔5分钟使用用户的电子邮件地址(因此,如果用户的条目在2月18日下午2点生成,则用户将被访问2:05,2:10等......)
如果用户在10天内决定他们想要退出数据库,则意味着他们的正常访问(从10月18日下午2点到5点每分钟)到10月28日下午2点。
所以要澄清一下,基于这种情况:
系统必须不断地将当前时间与用户的到期日期进行比较,不是吗?
答案 0 :(得分:2)
你不应该存储time_left变量,你应该存储vaildTo。这样,无论何时从数据库请求用户,您都可以检查它是否有效。
如果没有,那就做任何你想做的事。
这种方法不会让你制作任何cronjobs,或者会花费你额外的费用。
答案 1 :(得分:1)
嘿Mr_spock我喜欢Topener的上述答案。用户希望将有效天数存储起来,而不是存储用户希望被删除的天数。
添加像validToDate这样的字段(可以是DATETIME字段类型),您可以执行类似
的查询从tablename中删除validToDate< = NOW()
其中
这具有SQL服务器所承诺的效率,我认为它相当不错。
答案 2 :(得分:0)
您可以编写一个单独的程序/脚本,在设定的时间间隔内进行删除查询。如果您使用的是Linux计算机,则可以创建一个cron作业。对于速度较慢的计算机和较大的表,每秒执行此操作可能会变得非常耗费资源,但我认为这不会成为简单删除查询的问题。