推荐答案
创建触发器
CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN -- 触发器逻辑 END;
管理触发器
- 查看触发器:
SHOW TRIGGERS FROM database_name;
- 删除触发器:
DROP TRIGGER IF EXISTS trigger_name;
本题详细解读
创建触发器
- 触发器名称:
trigger_name
是触发器的名称,必须是唯一的。 - 触发时机:
BEFORE
或AFTER
指定触发器是在事件之前还是之后执行。 - 触发事件:
INSERT
、UPDATE
或DELETE
指定触发器在哪种操作时触发。 - 表名:
table_name
是触发器关联的表。 - 触发器逻辑:在
BEGIN
和END
之间编写触发器的逻辑。
管理触发器
- 查看触发器:使用
SHOW TRIGGERS
命令可以查看指定数据库中的所有触发器。 - 删除触发器:使用
DROP TRIGGER
命令可以删除指定的触发器。IF EXISTS
是可选的,用于避免删除不存在的触发器时出错。
示例
CREATE TRIGGER before_employee_insert BEFORE INSERT ON employees FOR EACH ROW BEGIN SET NEW.created_at = NOW(); END;
这个触发器在每次向 employees
表插入新记录之前,自动设置 created_at
字段为当前时间。