mysql触发器

阅读更多

创建触发器

触发器是个特殊的存储过程,不同的是存储过程需要通过call来调用,而触发器不需要使用call来调用,只需要当定义的事件发生后就会自动被调用。

1.创建单执行语句的触发器

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW trigger_stmt

tigger_time可以取值before和after

trigger_event可以取值insert、delete、update

trigger_stmt是要实现的目标。

比如当在表tb_index_zone中新增一条记录后,在tb_student表中增加一条记录

CREATE TRIGGER addStu before insert ON tb_index_zone FOR EACH ROW insert into tb_student values ('10','123456789012','10');

查看触发器使用:show triggers \G;


mysql触发器_第1张图片
 

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

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW 

BEGIN

多个sql语句

END

比如当在表tb_index_zone中新增一条记录后,在tb_student表中增加两条记录

CREATE TRIGGER addMultStu before insert ON tb_index_zone FOR EACH ROW

BEGIN

insert into tb_student values ('2,'TOM','11');

insert into tb_student values ('3,'TOM2','12');

END

 

第二种查看trigger的方式:

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE 自定义条件;

 

 

删除触发器的方式:

DROP TRIGGER [DB].[trigger_name]

例如:DROP TRIGGER test_db.addMultStu;

 

 

  • mysql触发器_第2张图片
  • 大小: 46.1 KB
  • 查看图片附件

你可能感兴趣的:(mysql触发器)