插入和一段时间后更新列值
Posted
技术标签:
【中文标题】插入和一段时间后更新列值【英文标题】:update column value after insert and period of time 【发布时间】:2016-09-12 01:12:40 【问题描述】:我有一个包含status
的表,第一次插入时默认值为0
,我想在24小时内插入此行后将此值从0
更改为1
,这意味着在插入24 hours
之后,状态值更改为1
。
使用 mysql。我该怎么做?
【问题讨论】:
为什么不插入时间戳? :) 【参考方案1】:这可能不是正确的方法。我的意思是,您可以设置一个为每一行处理的事件,但这可能会给您的数据库增加大量负载。
相反,如果status
只是说该行的历史少于或多于一天,请将创建日期放入表中并使用视图:
create view v_table as
select t.*, (creation_date >= date_sub(now(), interval 1 day) as status
from table t;
如果status
可以通过其他方式更改,则将其命名为_status
并执行以下操作:
create view v_table as
select t.*,
(case when creation_date >= date_sub(now(), interval 1 day then 1 else _status end) as status
from table t;
【讨论】:
以上是关于插入和一段时间后更新列值的主要内容,如果未能解决你的问题,请参考以下文章