php - 当时间到达指定日期时更改sql字段的值
问题描述
我有一个网站,您可以在其中注册
注册账号的状态默认为“Stand by”,然后网站管理员可以将该状态更改为:“admin”-“user”-“stand by”
到期日期也存储在数据库中
我想要做的是,当到期日期到期时,自动将该用户的状态更改为“待命”
我不知道如何做到这一点,感谢您的帮助!
例子 :
如果我们到达 2020 - 07 - 10,user4(以及“test”和“testt”)的状态应该更改为“Attente”(表示待命)
我的数据库:
解决方案
我建议使用视图:
create view v_t as
select . . .,
(case when now() >= expiring_date then 'Stand by' else status end) as status
from t;
这会在读取视图时计算状态,因此您不必担心状态会发生变化。状态始终正确。
然后,在闲暇时,您可以使用作业更新数据中的状态。
使用这种方法,可以保证您的应用程序看到正确的状态。
推荐阅读
- php - 如何使用 Laravel Eloquent 获取最大值 + 其他列
- css - 如何将图像添加到自定义复选框的背面
- string - 如何存储大字符串文字以与格式宏一起使用而不会乱扔代码?
- python - django-pyodbc:我的旧机器上的 odbc 驱动程序工作但现在我收到一个错误,说我的驱动程序“不支持现代数据时间类型”
- powershell - 如何复制文件列表并在 PowerShell 循环中重命名它们
- ruby-on-rails - TinyMCE:Capybara::ElementNotFound:找不到可见框架“content_ifr”
- android - 使用 TextWatcher 时退格无法正常工作
- for-loop - 迭代并添加到 RxSwift 中的数组
- swift - 退出和重新登录时清除 ViewControllers 堆栈
- html - 列未正确拆分