欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql那些事儿之(十)触发器 一

程序员文章站 2022-06-04 08:48:06
...

mysql从5.0.2版本开始支持触发器的功能。

触发器是什么?触发器就是与表有关的数据库对象,在满足定义的条件时触发,并且执行触发器中定义的语句。

我们来看一下触发器的语法结构:

 

create trigger trigger_name trigger_time trigger_event
on table_name
for each row
begin
   trigger_stmt
end;

 

trigger_name是说明触发器的名称;

trigger_time是说明触发器的时间,after、before;

trigger_event是说明触发器的事件,比如delete、update、insert;

trigger_stmt是说明触发器要执行的事物语句,也就是你要干什么的东西,写在这里。

 

举例:

建立数据库:

 

create database db_test;

建立film表:

 

create table film(
id smallint unsigned not null,
name varchar(40),
txt text,
primary key(id)
);

 

在这儿写一个简单的触发器示例:

 

业务规则是 在向film表插入数据时,同时向日志表film_text中也插入一条数据.

 

当然还得建立film_text表:

 

create table film_text(
id smallint unsigned not null auto_increment,
name varchar(40),
txt text,
primary key(id)
);

 

现在可以按照触发器的语法结构来写触发器了。

触发器代码:

 

create trigger trigger_film  --trigger_film为触发器的名称
after                                   --after为触发器要发生的时间
insert                                 --insert为触发器发生时的条件  插入操作
on film                                --建立触发器的表名
for each row                      --说明触发器为行级触发器
begin
   --触发器要执行的逻辑
  insert into film_text(id,name,txt) values(new.id,new.name,new.txt);
end;

 

 运行完这个触发器之后,当在另一个film表里插入数据后,film_text里也将增加一条数据。

相关标签: mysql 触发器