在许多触发器示例中,即使只有一个命令,也会使用 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
我真的需要使用它吗?否则,我为什么要使用它?
最佳答案
从技术上讲,MySQL 触发器的主体只能包含一条语句。更复杂的触发器代码使用 BEGIN ... END
将多个简单语句包装成适合此目的的单个复合 语句。如果您的触发器主体由单个简单 语句组成,那么这不是必需的,并且可以省略 BEGIN ...END
,尽管包含它也没有坏处。
关于mysql - 我是否需要使用一个命令在 MySQL 触发器中开始结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35758029/