我正在研究这个触发器定义:
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
错误,不知道原因。有关详细信息,请参阅附图,出现了什么问题?
更新后的第二个结果
答案 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