Mysql 尝试在插入后创建触发器时出错#1064

Mysql 尝试在插入后创建触发器时出错#1064,mysql,triggers,Mysql,Triggers,我正在研究这个触发器定义: DECLARE var_count INT; SELECT COUNT(1) INTO var_count FROM isrl_config; IF var_count == 1 UPDATE isrl_config SET last_retention_number = NEW.id; END IF; 但是我得到了#1064错误,不知道为什么。有关更多信息,请参阅所附图片,有什么问题 更新后的第二个结果 用开始将其包围起来。。。结束 BEGIN D

我正在研究这个触发器定义:

DECLARE var_count INT;
SELECT COUNT(1) INTO var_count FROM isrl_config;
IF var_count == 1
    UPDATE isrl_config SET last_retention_number = NEW.id;
END IF;
但是我得到了
#1064
错误,不知道为什么。有关更多信息,请参阅所附图片,有什么问题

更新后的第二个结果


开始将其包围起来。。。结束

BEGIN
    DECLARE var_count INT;
    SELECT COUNT(1) INTO var_count FROM isrl_config;
    IF var_count = 1 THEN
        UPDATE isrl_config SET last_retention_number = NEW.id;
    END IF;
END
从:

仅允许在BEGIN中声明。。。结束复合语句,并且必须在其开始处,在任何其他语句之前

以及:


我按照你的建议做了,但现在错误发生了变化,因为主POSTIF语句中显示的第二个图像有所不同。使用单个
=
(就像在普通查询中一样),然后使用
。我已经更新了我的答案。
IF search_condition THEN statement_list
    [ELSEIF search_condition THEN statement_list] ...
    [ELSE statement_list]
END IF