mysql 触发器的使用
2012-03-28 11:23
232 查看
1、触发器:trigger,在sql insert update delete命令之前(before)或之后(after)之后执行该触发。
2、语法:
create trigger trigger_name
before|after
insert|update|delete
on table_name
for each row
code
3、如何访问当前记录的各个字段
OLD.column_name(返回一条现有记录在被修改或删除之前的内容 UPDATE DELETE)
NEW.column_name(返回一条新记录或被修改记录的新内容 INSERT UPDATE)
4、实例
目录表:tv_dir(id,name,xcount) 目录明细表:tv_dir_detail(id,dir_id,tv_id)
实现这样的一个功能:在目录明细表中添加一条记录或插入一条记录时,修改目录表中的xcount。
create trigger tv_dir_detail_insert
after insert on tv_dir_detail for each row
update tv_dir set xcount=xcount+1 where id=NEW.dir_id
create trigger tv_dir_detail_delete
after delete on tv_dir_detail for each row
update tv_dir set xcount=xcount-1 where id=OLD.dir_id
5、注意:
a。触发器的表必须是实表。不能是视图。
b。一个表最多定义6个触发器
c。受触发器影响的记录都执行一遍
6、在Navicat中定义触发器。
选中一张表,右击“设计表”,然后表设计中选择触发器。然后在下列表中输入名,选择After|before,选择(插入|刷新|删除)
然后在定义中写code。
2、语法:
create trigger trigger_name
before|after
insert|update|delete
on table_name
for each row
code
3、如何访问当前记录的各个字段
OLD.column_name(返回一条现有记录在被修改或删除之前的内容 UPDATE DELETE)
NEW.column_name(返回一条新记录或被修改记录的新内容 INSERT UPDATE)
4、实例
目录表:tv_dir(id,name,xcount) 目录明细表:tv_dir_detail(id,dir_id,tv_id)
实现这样的一个功能:在目录明细表中添加一条记录或插入一条记录时,修改目录表中的xcount。
create trigger tv_dir_detail_insert
after insert on tv_dir_detail for each row
update tv_dir set xcount=xcount+1 where id=NEW.dir_id
create trigger tv_dir_detail_delete
after delete on tv_dir_detail for each row
update tv_dir set xcount=xcount-1 where id=OLD.dir_id
5、注意:
a。触发器的表必须是实表。不能是视图。
b。一个表最多定义6个触发器
c。受触发器影响的记录都执行一遍
6、在Navicat中定义触发器。
选中一张表,右击“设计表”,然后表设计中选择触发器。然后在下列表中输入名,选择After|before,选择(插入|刷新|删除)
然后在定义中写code。
相关文章推荐
- mysql 触发器的使用
- 触发器、存储过程的使用(针对Mysql)
- mysql触发器使用实例
- MySQL触发器使用详解
- 什么是触发器(mysql),它的利与弊,使用实例
- MySQL触发器的使用
- mysql的触发器使用
- MySQL触发器的使用
- mysql触发器(Trigger)简明总结和使用实例
- MySQL触发器的使用
- 小贝_mysql 触发器使用
- MySql-使用触发器(trigger)
- mysql 触发器的使用 FOR INSERT,DELETE,UPDATE
- MySQL触发器使用详解
- MySQL——触发器的创建和使用总结
- MySql(18)------mysql触发器的使用
- 小贝_mysql 触发器使用
- MySql 中的 触发器使用
- Mysql触发器的简单使用
- Mysql触发器简单使用