触发器trigger
作用:监视某种情况,并触发某种操作
很多人都不提倡使用触发器,因为这是一个隐藏的过程不好管理。
语法:
create trigger triggerName after/before/ // 触发时间 trigger_time insert/update/delete // 监视事件 trigger_event on table_name // 监视地点 table for each row // 这句话在mysql中是固定的 begin sql语句(insert/update/delete); // 触发事件 trigger_stmt 注意这里要有分号 end;
注意:
- 注意对同一个表相同触发时间的相同触发事件,只能定义一个触发器;
- 触发器只能建立在永久表上,不能对临时表使用
- 可以使用old和new来引用触发器中发生变化的记录内容。
old表示监视事件发生之前的原列,new表示监视事件发生后的新列
题解答案
create trigger audit_log after # 监视时间 insert on employees_test # 监视事件 for each row begin insert into audit values(new.id,new.name); # 触发事件 使用新列数据 end;