我想知道这在 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
提前致谢
最佳答案
最好只存储折扣的过时时间戳,例如 discount_until
。
这样你就不需要设置任何东西。
在人的时代也是如此。在数据库中存储生日,而不是年龄,因为年龄每天都在变化。
关于MySql - 运行触发器以在指定时间后更改列状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18929830/