推荐答案
创建触发器
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 字段为当前时间。