mysql - 具有日期条件的 MySQL 触发器的正确​​语法/格式

标签 mysql date triggers

我正在尝试创建一个触发器来测试是否在特定日期之前发出“请求”,如果是,则将标志设置为"is",否则设置为“否”。

但是 PHPMyAdmin 一直告诉我有一个错误,完整的触发器已经激活并且正在工作,所以我没有包含其余部分。只是这个片段需要更正:

我认为 IF 语句/日期条件的格式存在问题:

IF NEW.RequestDate < '2012-07-12 00:00:00' THEN
    SET NEW.flagReqPreJulyTwelfthTwentyTwelve="YES";
ELSE
    SET NEW.flagReqPreJulyTwelfthTwentyTwelve="NO";    
END IF;

最佳答案

我认为你无法改变 NEW.flagReqPreJulyTwelfthTwentyTwelve。 为什么不使用局部变量并将该值插入到表中,如下所示:

IF NEW.RequestDate < '2012-07-12 00:00:00' THEN
    SET myvar="YES";
ELSE
    SET myvar="NO";    
END IF;

关于mysql - 具有日期条件的 MySQL 触发器的正确​​语法/格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068951/

相关文章:

javascript - 获取月份差异并列出 JavaScript 中两个日期之间的数组中的月份

java - date.getTime() 比 System.getCurrentTimeMillis() 短

mysql - 为什么我不断收到 'Incorrect Syntax near ' Select'.期待 Set' 错误?

node.js - 基于时间的通知服务

mysql - 输出自 MySQL 中特定日期范围以来未重复订购的客户

php - 从数据库表动态填充 Wordpress ACF 中的选择字段

java - 两个日期之间的差异,仅包括工作日(即不包括周末和节假日)

html - <a href> 内的 child 会触发 mouseout。如何防止这种情况?

mysql - 丢失数据库 ibd 文件。尝试从崩溃中恢复数据库

php - 使用 GROUP BY 时出现 MySQL 4.0.18 语法错误