![](/img/trans.png)
[英]How can I update my table field create_date to current date using trigger in sql?
[英]SQL Trigger - Update field where date is older than current date
我有一张事件表,其中有一个事件发生在数据库中的日期。 因此,自然而然地,当一个事件完成时,它不需要在网站上显示。 目前,我在表中有一个标记为“有效”。
我想知道处理已发生事件的最佳方法是什么。 我认为最好的方法是在phpmyadmin中创建一个事件,以便在凌晨1点,所有超过其日期的事件都将其“活动”标志设置为0,但是我听说这不是最好的方法它,因为它有更多的开销和不必要的I / O。
另一种选择是在数据库查询中处理它。 从日期>日期AND有效= 1的事件中选择*。
两者都有效,但是有一个“活动”标记事件,实际上不是活动的,这让我感到沮丧。
处理此问题的最佳方法是什么,如果是phpmyadmin中的触发器/事件,那是什么。 我该怎么办?
您可以为此编写一个视图:
create view v_table as
select t.*, ( date > now() ) as IsActive;
from table;
如果您确实要承担创建触发器和维护字段的负担,那么可以这样做。 但是,当视图很容易处理时,似乎不值得。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.