我想创建一个每天都会运行的事件,看看某个帐户是否很快就会过期。该soon_expires
单元格稍后将由 Bash 脚本使用,该脚本会向相关用户发送电子邮件,通知他情况。
这是我的活动内容(使用 phpmyadmin):
SELECT * FROM users;
IF DATEDIFF(expirationtime, CURDATE()) < 45 THEN
SET soon_expires = 1;
ELSE
SET soon_expires = 0;
END IF;
但是,它返回一个错误,说
#1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF DATEDIFF(expirationtime, CURDATE()) < 45 THEN SET soon_expires = 1; EL' at line 3
我还尝试创建一个触发器,它按预期工作。但我意识到触发器只会在行更新时运行 -expirationtime
或多或少是静态的,所以触发器是不够的。
或者
第一个变体更新表中的所有记录,第二个变体只更新那些将在 45 天内过期的记录。