我有一个包含status
的表格,当它第一次插入时,默认值为0
,我希望在此之后将此值从0
更改为1
在24小时内插入的行,表示在插入1
后状态值更改为24 hours
。
使用MySQL。我怎么能这样做?
答案 0 :(得分: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;