在mysql表中使用if else自动更新记录

时间:2013-05-04 16:21:09

标签: mysql sql if-statement

我是MySql的新手,需要帮助。

为了更清楚,我的MySql表中有3列;

  1. 会员日期
  2. 会员资格到期
  3. 会员身份
  4. 第1和第2列使用DATE格式。第三列使用VARCHAR。

    所以,我要做的是,如果有效期超过当前日期,第3列的记录会自动更改为“已过期”。如果不超过,它将显示“ACTIVE”。

    有可能吗?

    真的很感激,如果有人可以提供帮助。

1 个答案:

答案 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,请参阅以下链接。