您的位置:首页 > 数据库 > MySQL

MySQL_触发器(1)

2020-06-08 09:29 84 查看

在Mysql 5.0版本以上,才支持触发器

  • Q:什么是触发器?
  • A: 触发器类似中断,到达某个条件后会暂时离开本程序去执行其他子程序,执行完成,返回继续执行本程序。

建议:尽量少使用触发器,不建议使用。

原因:触发器尽很消耗资源,如果使用的话要谨慎的使用,确定它是非常高效的。并且触发器是针对每一行的;对增删改非常频繁的表上切记不要使用触发器,因为它会非常消耗资源。

创建只有一个执行语句的触发器

  • createt rigger 触发器名 before/after 触发事件 on 发生动作表名 for each row 执行语句;
  • 例1:创建了一个名为trig1的触发器,一旦在work表中有插入动作,就会自动往time表里插入当前时间
  • [code]create trigger trig1 after insert
    on work for each row
    insert into time values(now());

     

创建有多个执行语句的触发器

[code]delimiter $$ -- 临时修改语句结束符
create trigger 触发器名 before/after 触发事件
on 发生动作的表名 for each row
begin
执行语句列表
end
$$ -- 结束语句
delimiter; -- 恢复语句结束符
  • 定义一个触发器,一旦有满足条件的删除操作,就会执行BEGIN和END中的语句
  • 例子2:当work表中有删除动作时候,就向time表中插入begin和end中的语句
  • [code]delimiter $$
    create trigger trig2 before delete
    on work for each row
    begin
    insert into time values(now());
    insert into time values(now());
    end
    $$
    delimiter;

     

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: