我是MySql的新手,需要帮助。
为了更清楚,我的MySql表中有3列;
第1和第2列使用DATE格式。第三列使用VARCHAR。
所以,我要做的是,如果有效期超过当前日期,第3列的记录会自动更改为“已过期”。如果不超过,它将显示“ACTIVE”。
有可能吗?
真的很感激,如果有人可以提供帮助。
答案 0 :(得分:1)
MySQL支持EVENTS
。当您不想手动检查每条记录的状态时,这很有用。
示例代码:
DELIMITER $$
CREATE EVENT `update_status`
ON SCHEDULE EVERY 1 HOUR
DO BEGIN
UPDATE tableName
SET MembershipStatus = IF(CURDATE() > MembershipExpiry, 'Expired', 'Active');
END $$
DELIMITER ;
该语句的作用是在创建脚本之后,每隔1 Hour
将其作为其间隔触发。
要更多地关注EVENTS
,请参阅以下链接。