温馨提示×

mysql触发器如何定义

小亿
84
2024-09-28 23:47:44
栏目: 云计算

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(删除记录)或CREATEALTERDROP(结构变更)。
  • 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;

0