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

时间:2013-12-08 13:36:26

标签: 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错误,不知道原因。有关详细信息,请参阅附图,出现了什么问题?enter image description here

更新后的第二个结果

enter image description here

1 个答案:

答案 0 :(得分:1)

BEGIN ... END

围绕它
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

来自manual

  

DECLARE只允许在BEGIN ... END复合语句中使用,并且必须在任何其他语句之前的开头。

also

IF search_condition THEN statement_list
    [ELSEIF search_condition THEN statement_list] ...
    [ELSE statement_list]
END IF