2013-05-04 51 views
0

我是MySql的新手,需要帮助。自动更新记录使用如果其他在mysql表

为了使它更清晰,我的MySql表中有3列;

  1. 会员
  2. 会员到期
  3. 会员状态

第一和第二列的日期使用日期格式。第三列使用VARCHAR。

所以,我想要做的是,如果到期日超过当前日期,第三列的记录自动更改为“过期”。如果没有超过,它将显示'ACTIVE'。

可能吗?

真的很感谢任何人都可以提供帮助。

回答

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,请参阅下面的链接。

相关问题