当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL触发器简单用法示例

MySQL触发器简单用法示例

2018年04月09日  | 移动技术网IT编程  | 我要评论
本文实例讲述了mysql触发器简单用法。分享给大家供大家参考,具体如下: mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包

本文实例讲述了mysql触发器简单用法。分享给大家供大家参考,具体如下:

mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,insert,update,delete,不包括select

创建触发器

create trigger name,time,event on table_name for each row trigger_stmt

例如

复制代码 代码如下:
create trigger ins_sum before insert on account for each row set @sum = @sum + new.amount

有多个执行语句的触发器

create table test1(a1 int);
create table test2(a2 int);
create table test3(a3 int not null auto_increment primary key);
create table test4(
  a4 int not null auto_increment primary key,
  b4 int default 0
);
delimiter //
create trigger testref before insert on test1
  for each row begin
    insert into test2 set a2 = new.a1;
  delete from test3 where a3 = new.a1;
    update test4 set b4 = b4 + 1 where a4 = new.a1;
  end
  //
delimiter ;
insert into test3(a3) values (null), (null), (null), (null), (null), (null),(null), (null), (null), (null), (null), (null);
insert into test4(a4) values (0), (0), (0), (0), (0), (0), (0), (0), (0), (0);
//开始测试
insert into test1 values (1), (3), (1), (7), (1), (8), (4), (4);

查看触发器

show triggers \g; //查看所有
select * from information_schema.triggers where trigger_name = 'testref';

删除触发器

drop trigger testref;

综合案例

步骤1:创建persons表

create table persons (name varchar(40), num int);

步骤2:创建一个销售额表sales

create table sales (name varchar(40), sum int);

步骤3:创建一个触发器

create trigger num_sum after insert on persons
for each row insert into sales values (new.name,7*new.num);

步骤4:向persons表中插入记录

insert into persons values ('xiaoxiao',20),('xiaohua',69);
select * from persons;
select *from sales;

更多关于mysql相关内容感兴趣的读者可查看本站专题:《mysql查询技巧大全》、《mysql事务操作技巧汇总》、《mysql存储过程技巧大全》、《mysql数据库锁相关技巧汇总》及《mysql常用函数大汇总

希望本文所述对大家mysql数据库计有所帮助。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网