Skip to content

Latest commit

 

History

History
79 lines (54 loc) · 1.41 KB

File metadata and controls

79 lines (54 loc) · 1.41 KB

触发器概述

触发器(Trigger)是一种特殊的数据库对象,它会在特定事件发生时自动执行。常见的触发时机包括插入、更新和删除数据。

创建触发器

创建触发器通常使用 CREATE TRIGGER

基本语法如下:

CREATE TRIGGER 触发器名
BEFORE|AFTER INSERT|UPDATE|DELETE
ON 表名
FOR EACH ROW
BEGIN
  SQL语句;
END;

例如:

DELIMITER //

CREATE TRIGGER set_userdate
BEFORE INSERT ON user_accounts
FOR EACH ROW
BEGIN
  SET NEW.status = 1;
END //

DELIMITER ;

这表示在向 user_accounts 插入数据之前,自动把新记录的 status 设为 1

查看触发器

可以使用下面的语句查看当前数据库中的触发器:

SHOW TRIGGERS;

它会显示:

  • 触发器名称
  • 事件类型
  • 触发时机
  • 所属表
  • 定义语句等信息

如果需要更详细的信息,也可以查询 information_schema.TRIGGERS

删除触发器

删除触发器使用 DROP TRIGGER

DROP TRIGGER 触发器名;

例如:

DROP TRIGGER set_userdate;

为了避免对象不存在时报错,也可以使用:

DROP TRIGGER IF EXISTS set_userdate;

小结

触发器适合在特定数据变更时自动执行一些附加逻辑,例如默认赋值、日志记录、联动更新等。但由于它是隐式触发的,使用时应保持逻辑清晰,避免过度复杂。