MySql - 在指定时间后运行触发器以更改列状态

时间:2013-09-21 06:52:56

标签: mysql sql triggers schedule eventtrigger

我想知道这是否可以在Mysql中使用,如果可以的话。

我正在运行一个电子商务网站,当用户购买某些东西时 - 在感谢页面上 - 我想给他们一个折扣码,上面写着一条消息说 - 折扣代码将在4小时或6小时或24小时后到期。

基本上,逻辑是 - 一旦付款,就会创建一个唯一的折扣代码并插入此折扣表中,如下所示

discount_id | user_id | discount_code | is_active | date_created
    101     |   21    |   50$OFF      |    Y      | 9/21/2012 13:00:00 

所以一旦2小时结束 - 我希望触发器或事件自动执行并将is_active状态更改为N

discount_id | user_id | discount_code | is_active | date_created
    101     |   21    |   50$OFF      |    N      | 9/21/2012 15:00:00 

提前致谢

1 个答案:

答案 0 :(得分:1)

最好只存储折扣的过期时间戳,例如discount_until

这样你就不需要设置任何东西了。

与人们的年龄相同。将出生日期存储在数据库中,而不是年龄,因为年龄可能每天都在变化。