我需要创建一些监视日期时间字段的触发器。如果该datetime字段等于当前日期(更容易监视日期而不是日期时间本身),则更新第二个字段。例如,以下字段显示:
已过期(日期时间) 有效(整数)
如果当前日期等于已过期,则将有效状态更新为' 0'。对此有任何帮助,非常感谢。
答案 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语句包含为计算结果集列。