MYSQL触发器根据datetime字段更新字段

时间:2017-03-13 18:19:34

标签: mysql triggers

我需要创建一些监视日期时间字段的触发器。如果该datetime字段等于当前日期(更容易监视日期而不是日期时间本身),则更新第二个字段。例如,以下字段显示:

已过期(日期时间) 有效(整数)

如果当前日期等于已过期,则将有效状态更新为' 0'。对此有任何帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

在MySQL中,触发器只能将DML操作作为触发事件。这意味着,只有在插入,更新或删除行时才会执行它们。他们监控当前时间和日期。 https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

但是,为什么需要额外的字段?创建一个视图,例如:

create view userView as 
select userid, case when expired < now() then 1 else 0 end as active
from   user;

或者只是在实际查询中将该case语句包含为计算结果集列。