我无法在网站上找到专门解决此问题的任何内容,因此我决定发布一个问题以寻求帮助。
我试图运行" BEFORE UPDATE "触发我的数据库中的表。触发器设置为在运行cron作业查询以评估用户数据后执行。如果满足数据目标,那么 BEFORE UPDATE 触发器会通过两个简单的数学公式来操作其他列。
sqlQuery(通过cron作业)
更新table1
。records
设置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"。我很困惑为什么会这样,这个公式似乎是直截了当的。我甚至尝试过公式中的其他数字,但答案仍然是正确的。
非常感谢任何建议或见解。
提前致谢!