赞
踩
create trigger 触发器名称 before 或 after 触发事件
on 表名 for each row
begin
触发器程序体
end
名词含义:
<触发器名称> 最多64个字符,它和MySQL中其他对象的命名方式一样
{ BEFORE | AFTER } 触发器时机
{ INSERT | UPDATE | DELETE } 触发的事件
ON <表名称> 标识建立触发器的表名,即在哪张表上建立触发器
FOR EACH ROW 触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次
<触发器程序体> 要触发的SQL语句:可用顺序,判断,循环等语句实现一般程序需要的逻辑功能
1.创建一个学生表
- create table student (
-
- id int auto_increment primary key
-
- name varchar(50)
-
- );
2.创建一个统计学生人数表
create table student_total( total int );
3.创建触发器
--用于在插入学生后修改学生人数
- delimiter $$ --因为MySQL结束符为 ; 因此在创建触发器时将其改为$$或其他符号
-
- create trigger student_insert_trigger after insert
-
- on student for each row
-
- begin
-
- uodate student_total set total = total + 1;
-
- end $$
-
- delimiter ;
--用于在删除学生表学生后修改学生人数
- delimiter $$
-
- create trigger student_delete_trigger after delete
-
- on student for each row
-
- begin
-
- update student_total set total = total - 1;
-
- end $$
-
- delimiter ;
4.可以自己插入几组数据看看效果
show triggers \G;
drop trigger 触发器名称
建议直接删除重做
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。