阅读量:0
MySQL触发器是一种存储在数据库中的程序,它会在某个特定的事件发生时自动执行。触发器的定义包括触发器的名称、触发事件类型、触发时机以及触发器执行的SQL语句。以下是定义MySQL触发器的语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW BEGIN -- 触发器执行的SQL语句 END;
其中:
trigger_name
:触发器的名称,用于唯一标识一个触发器。trigger_time
:触发时机,可以是BEFORE
(在操作执行前)或AFTER
(在操作执行后)。trigger_event
:触发事件类型,可以是INSERT
(插入新记录)、UPDATE
(更新记录)、DELETE
(删除记录)或CREATE
、ALTER
、DROP
(结构变更)。table_name
:触发器作用的数据表名称。FOR EACH ROW
:表示触发器对每一行数据都执行一次。如果不加此选项,则触发器仅对满足条件的新记录或修改记录执行。BEGIN ... END
:触发器执行的SQL语句块。可以包含多条语句,但需用分号分隔。
以下是一个简单的MySQL触发器示例,该触发器会在向employees
表中插入新记录之前,自动将新员工的salary
字段值增加10%:
CREATE TRIGGER increase_salary_before_insert BEFORE INSERT ON employees FOR EACH ROW BEGIN SET NEW.salary = NEW.salary * 1.1; END;