MySQL 触发器
在MySQL中,触发器(Triggers)是与表相关联的一种特殊类型的存储过程,它们在插入、更新或删除表中的数据时自动执行。触发器可以用于实现在数据库级别上的数据完整性约束、审计跟踪、日志记录等功能。以下是关于 MySQL 触发器的一些重要信息和示例:
创建触发器
在MySQL中创建触发器的语法如下:
CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name FOR EACH ROW BEGIN -- 触发器执行的SQL语句和逻辑 END;
trigger_name:触发器的名称。
{BEFORE | AFTER}:指定触发器是在操作之前还是之后执行。
{INSERT | UPDATE | DELETE}:指定触发器是在插入、更新还是删除操作时触发。
table_name:触发器所关联的表名。
FOR EACH ROW:指定触发器的执行频率,每行触发一次。
使用举例
创建一个在 INSERT 操作之后自动触发的触发器
CREATE TRIGGER InsertTrigger AFTER INSERT ON students FOR EACH ROW BEGIN -- 假设我们要记录每次插入操作的详细信息到另一个日志表 INSERT INTO students_activity_log (student_id, activity_type, activity_time) VALUES (NEW.student_id, 'INSERT', NOW()); END
在这个例子中,每当向 teachers 表插入新记录时,InsertTrigger触发器会在操作之后执行,将插入操作的详细信息记录到 students_activity_log 表中。