Mysql SQL触发器-日期早于当前日期的更新字段

Mysql SQL触发器-日期早于当前日期的更新字段,mysql,sql,triggers,phpmyadmin,Mysql,Sql,Triggers,Phpmyadmin,我有一张事件表,上面有它们在数据库中发生的日期。因此,当一项活动结束时,它自然不需要显示在网站上。目前,表中有一个“活动”标志 我想知道处理已经过去的事件最好的方法是什么。我认为最好的方法是在phpmyadmin中创建一个事件,以便在凌晨1点,所有超过日期的事件都将其“活动”标志设置为0,但我听说这不是最好的方法,因为它有更多的开销和不必要的I/o 另一个选项是在db查询中处理它。从日期>日期和活动=1的事件中选择* 这两种方法都有效,但有一个“活动”标记的事件,实际上不是活动的,这让我很沮丧

我有一张事件表,上面有它们在数据库中发生的日期。因此,当一项活动结束时,它自然不需要显示在网站上。目前,表中有一个“活动”标志

我想知道处理已经过去的事件最好的方法是什么。我认为最好的方法是在phpmyadmin中创建一个事件,以便在凌晨1点,所有超过日期的事件都将其“活动”标志设置为0,但我听说这不是最好的方法,因为它有更多的开销和不必要的I/o

另一个选项是在db查询中处理它。从日期>日期和活动=1的事件中选择*

这两种方法都有效,但有一个“活动”标记的事件,实际上不是活动的,这让我很沮丧


处理此问题的最佳方法是什么,以及phpmyadmin中的触发器/事件是否是最佳方法。我该怎么办

您只需为此编写一个视图即可:

create view v_table as
    select t.*, ( date > now() ) as IsActive;
    from table;

如果您真的想承担创建触发器和维护字段的责任,那么您可以这样做。但是,当视图很容易处理这个问题时,它似乎不值得使用。

为什么要使用活动标志呢?为什么不单独筛选日期?我使用活动标志来表示其他内容,但也可以将其用于触发器。我的问题是,哪一个更好,为什么。按日期筛选或使用触发器更新活动标志。