在许多触发示例中,即使只有一个命令,也会使用BEGIN和END。
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON employees
FOR EACH ROW
BEGIN
INSERT INTO employees_audit
SET action = 'update',
employeeNumber = OLD.employeeNumber,
lastname = OLD.lastname,
changedat = NOW();
END
我真的需要使用它吗?否则,我为什么要使用它?
答案 0 :(得分:1)
MySQL触发器的主体在技术上只能包含一个语句。更复杂的触发器代码使用BEGIN ... END
将多个简单语句包装到适合此目的的单个复合语句中。如果您的触发器主体包含单个简单语句,则这不是必需的,BEGIN ... END
可以省略,尽管包含它没有任何害处。