假设我有一个与此类似的表(mysql):
id int,
deadline timestamp,
state int
状态可以是1,2,3,4等.1:开放,2:待定,3:批准,4:关闭等。
截止日期有一个日期和时间,当它到达时,状态应该改变。例如,如果我插入以下记录:
插入表(id,截止日期,状态)值(1,'2014-08-21 2:05:13',1); (1表示开放)。
当达到截止日期时,状态应自动为2(待定)。
我怎么能这样做?
我想到了:
如果您有任何想法,请告诉我。提前谢谢。
答案 0 :(得分:0)
您可以创建一个使用case语句的View,如果它是1并且已过期,则将“state”列设为2,然后直接查询View而不是表。然后通过其他方法定期更新表,例如更新整个表的触发器(尽管这是随机的)。 。
或者您可以创建访问表的存储例程,而不是在应用程序代码中编写查询,并且存储的例程可以根据需要更新您的“状态”。