MYSQL触发器根据日期时间字段更新字段

标签 mysql triggers

我需要创建某种监视日期时间字段的触发器。如果该日期时间字段等于当前日期(仅监视日期比监视日期时间本身更容易),则更新第二个字段。例如以下字段演示:

已过期(日期时间) 事件(整数)

如果当前日期等于过期日期,则将事件更新为“0”。对此有任何帮助,不胜感激。

最佳答案

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

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

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

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

关于MYSQL触发器根据日期时间字段更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42770731/

相关文章:

mysql - 是否可以对表的某一列中的所有值进行无限制?

sql - 在触发器中检查@@rowcount = 0 的目的是什么?

MySQL 触发器问题。如何修复呢?错误 1442

mysql - 使用 MySQL 触发错误

mysql - 当触发器引发异常时插入忽略

php - 将数据库提取到树中

mysql - 通过用以前的数据填补空白来连接表

python - MySQLdb/Python/LocalHost - 查询运行没有错误,但没有结果

mysql - 初学者 - 查询标记为文本的列中的值

database-design - 无需存储过程或触发器即可工作