插入和一段时间后更新列值

时间:2016-09-12 01:12:40

标签: php mysql sql

我有一个包含status的表格,当它第一次插入时,默认值为0,我希望在此之后将此值从0更改为1在24小时内插入的行,表示在插入1后状态值更改为24 hours

使用MySQL。我怎么能这样做?

1 个答案:

答案 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;