MySQL中SQL触发器给出语法错误
我收到的错误消息是:MySQL中SQL触发器给出语法错误,mysql,database-trigger,Mysql,Database Trigger,我收到的错误消息是: 1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第4行的“total_demos=total_demos+1,其中tbl_stats.area_id=NEW.territory AND NE”附近使用的正确语法 您没有遵循case语句的语法: DROP TRIGGER IF EXISTS demo_inc_when_viewstatus_one ; DELIMITER $$ CREATE TRIGGER demo_inc_when_view
1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第4行的“total_demos=total_demos+1,其中tbl_stats.area_id=NEW.territory AND NE”附近使用的正确语法
您没有遵循case语句的语法:
DROP TRIGGER IF EXISTS demo_inc_when_viewstatus_one ;
DELIMITER $$
CREATE TRIGGER demo_inc_when_viewstatus_one AFTER UPDATE ON `tbl_ffa_demo`
FOR EACH ROW BEGIN
UPDATE `tbl_stats` SET open_demos=CASE WHEN NEW.demo_status=1 THEN
open_demos+1 ,
total_demos=total_demos+1 WHERE tbl_stats.area_id=NEW.territory AND NEW.view_status=1
END $$
DELIMITER;
您是否只是忽略了告诉实际的错误消息是什么或它是分类的?1064-您的SQL语法有一个错误;查看与您的MySQL服务器版本对应的手册,了解使用“total_demos=total_demos+1”的正确语法,其中tbl_stats.area_id=NEW.territory AND NE”位于第4行是的,但我不知道我在做什么,您的SQL语法有错误;查看MySQL服务器版本对应的手册,了解第6行“END”附近使用的正确语法语法。语法错误我已通过在更新查询后添加Semico来解决,但现在出现了一个错误#1235-此版本的MySQL尚不支持“一个表具有相同操作时间和事件的多个触发器”,我回答了您的问题,你不能期望在一篇文章中解决所有错误!顺便说一句,最后一条错误消息非常明确,它准确地告诉您出了什么问题。请解释并行动起来!
case when <condition> then <true branch> else <false branch> end
... SET open_demos=CASE WHEN NEW.demo_status=1
THEN open_demos+1 ELSE open_demos=open_demos END, ...