mysql触发器如何定义

avatar
作者
筋斗云
阅读量: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(删除记录)或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; 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!