MySQL 触发器简单实例

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
语法
1、CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.
2、{ BEFORE | AFTER } –触发器有执行的时间设置:可以设置为事件发生前或后。
3、{ INSERT | UPDATE | DELETE } –同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。
4、ON <表名称> –触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。但可以有一个BEFORE UPDATE触发程序和一个BEFORE DELETE触发程序,或者一个BEFORE UPDATE触发程序和一个AFTER UPDATE触发程序
5、FOR EACH ROW –触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
6、<触发器SQL语句> –触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。

–你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

实例

#创建user表
DROP TABLE IF EXISTS user;
CREATE TABLE user(
    id int(11) NOTNULL auto_increment COMMENT("用户id"),
    name varchar(10) NOT NULL COMMENT("用户名")
);

#创建评论表
DROP TABLE IF EXISTS comment;
CREATE TABLE comment(
    c_id int(11) NOT NULL auto_increment COMMENT("评论id"),
    u_id int(11) NOT NULL COMMENT("用户id"),
    u_name varchar(10) NOT NULL COMMENT("用户名")
    content varchar(100) NOT NULL DAFEULT '' COMMENT("评论的内容")
);

创建触发器:t_afterupdate_on_comment

作用:改变user表记录后自动跟新comment表中用户信息

DROP TRIGGER IF EXISTS t_afterupdate_on_comment;
CREATE TRIGGER t_afterupdate_on_comment
AFTER UPDATE ON user
FOR EACH ROW
BEGIN
     UPDATE commentSET u_name=new.nameWHEREu_id=old.id;
END;

1、首先在dos窗口查看自己mysql的版本信息,>mysql –version
mysql数据库是从5.0.2版本才开始支持触发器的。
2、首先找到需要操作的表,右键设计表
这里写图片描述

3、找到触发器选项
这里写图片描述

4、创建触发器
这里写图片描述

5、预览效果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值