使用MYSQL触发器的数学公式输出错误的计算

时间:2015-02-04 14:06:56

标签: mysql triggers

我无法在网站上找到专门解决此问题的任何内容,因此我决定发布一个问题以寻求帮助。

我试图运行" BEFORE UPDATE "触发我的数据库中的表。触发器设置为在运行cron作业查询以评估用户数据后执行。如果满足数据目标,那么 BEFORE UPDATE 触发器会通过两个简单的数学公式来操作其他列。

sqlQuery(通过cron作业)

更新table1records设置date_created = IF(expiration_date<(CURDATE()),IF(postCOUNT> 0,CURDATE( ),'错误&#39),date_created

在更新TRIGGER之前(通过phpMyAdmin cPanel创建)

1. BEGIN
2.    IF NEW.date_created != OLD.date_created THEN
3.         SET NEW.date_created=New.date_created;
4.         SET NEW.expiration_date = NEW.date_created + 2;
5.         SET NEW.postCOUNT = OLD.postCOUNT-1;
6.     END IF;
7. END

现在我确信有更好的编码方法来完成这项任务,但是一切似乎都工作到触发器的第5行中的数学公式。而不是减去" 1"从OLD.postCOUNT开始,公式会减去" 2"。我很困惑为什么会这样,这个公式似乎是直截了当的。我甚至尝试过公式中的其他数字,但答案仍然是正确的。

非常感谢任何建议或见解。

提前致谢!

0 个答案:

没有答案