MySQL 触发器if语句只执行第一个

DELIMITER //
CREATE TRIGGER Question_01 BEFORE INSERT ON SC FOR EACH ROW
BEGIN
IF new.grade>=90 THEN
UPDATE trank SET num=num+1 WHERE division='100-90' AND cno=new.cno;
ELSEIF new.grade BETWEEN 89 AND 80 THEN
UPDATE trank SET num=num+1 WHERE division='89-80' AND cno=new.cno;
ELSEIF new.grade BETWEEN 79 AND 70 THEN
UPDATE trank SET num=num+1 WHERE division='79-70' AND cno=new.cno;
ELSEIF new.grade BETWEEN 69 AND 60 THEN
UPDATE trank SET num=num+1 WHERE division='69-60' AND cno=new.cno;
ELSEIF new.grade<60 THEN
UPDATE trank SET num=num+1 WHERE division='59-0' AND cno=new.cno;
END IF;
END//
DELIMITER ;
为什么触发器中的IF语句只判断第一个,后面ELSEIF不进行判断了

您的触发器是哪个表的触发器。因为Mysql就在里面。触发器无法查询/修改当前触发的表。追问

我试过插入很多数据,触发器只会执行判断第一个IF条件,就相当于我插入一条成绩为95的数据,就可以执行后面的更新语句,但是如果插入的是一条成绩为85的数据,第一个IF判断不匹配,但后面的ELSEIF就不会在进行判断了,这是为什么?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-17
这个我都看不懂的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网