触发器

基本概念

触发器(trigger)是MySQL语句响应以下任意语句而自动执行的一条MySQL语句(或位于begin和and之间的一组语句):

  • delete
  • insert
  • update

其他语句不止触发器。
只有表支持触发器,视图和临时表都不支持。

创建触发器

在创建触发器时,需要:

  • 定义触发器名;
  • 定义触发器关联的表;
  • 定义触发器响应的活动;
  • 定义触发器何时执行(处理之前或之后);

create trigger trigger_name before/after insert/delete/update on table_name for...'

触发器名必须保持在每个表中唯一,但不要求在一个数据库中唯一。
触发器按每个表每个时间每次地定义,每个表每个事件每次只允许定义一个触发器。因此,每个表最多支持6个触发器(insert,delete和update的之前和之后)。
如果before触发器失败,那么MySQL不会执行请求的操作。如果before触发器或者语句本身失败,则不执行after触发器。

删除触发器

drop trigger trigger_name;

使用触发器

create trigger neworder after insert on orders
for each row select NEW.order_num into @aaa;

insert into orders(order_date,cust_id) values(Now(),10001);
select @aaa;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 触发器 MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用...
    FTOLsXD阅读 990评论 0 1
  • MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,...
    金星show阅读 851评论 0 3
  • 触发器概念 什么是触发器 触发器是一种与表操作有关的数据库对象,当触发器所在表上发生指定事件时,将调用该对象,即表...
    maxwellyue阅读 1,227评论 0 11
  • 周日参加了《唤醒半睡的自己》书友会成立仪式暨线下活动,看到了久未相见的吴文君老师,聆听了她的讲话。吴老师的学生们分...
    如心1976阅读 736评论 1 0
  • ==操作符专门用来比较两个变量的值是否相等。也就是用于比较变量所对应的内存中所存储的值是否相同。要比较两个基本类型...
    哈哈海阅读 274评论 0 0