MySQL TRIGGER
来源:互联网 发布:怎么获取股票数据 编辑:程序博客网 时间:2024/05/16 02:36
以下内容来源于 MySQL 触发器简单实例文章。
触发器(TRIGGER)是MySQL的数据库对象之一,从5.0.2版本开始支持。该对象与编程语言中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发、激活从而实现执行。有点类似DOM中的事件。
语法
CREATE TRIGGER <触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | AFTER } --触发器有执行的时间设置:可以设置为事件发生前或后。{ INSERT | UPDATE | DELETE } --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。ON <表名称> --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。FOR EACH ROW --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。<触发器SQL语句> --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。
例子
- 创建两个表
DROP TABLE IF EXISTS tab1;CREATE TABLE tab1( tab1_id varchar(11));DROP TABLE IF EXISTS tab2;CREATE TABLE tab2( tab2_id varchar(11));
- 创建 插入触发器:
DROP trigger if exists t_insert;delimiter $create TRIGGER t_insertAFTER INSERT on tab1for EACH ROWBEGIN insert into tab2(id) values(new.id);END;delimiter ;insert into tab1(id) VALUES('1');
- 创建删除触发器:
DROP trigger if exists t_insert;delimiter $create TRIGGER t_insertAFTER DELETE on tab1for EACH ROWBEGIN DELETE from tab2 WHERE id=old.id;END;delimiter ;DELETE from tab1 WHERE id=1;
触发器里面可以有多个执行语句
【参考】
mysql之触发器trigger
MySQL 触发器简单实例
如果不清楚 delimiter是怎么用的,欢迎查看MySQL DELIMITER
阅读全文
0 0
- mysql trigger
- mysql trigger
- mysql trigger
- mysql trigger
- mysql trigger
- Mysql Trigger
- MySQL TRIGGER
- MySQL TRIGGER
- mysql create trigger
- mysql insert trigger
- 【转】mysql-trigger-触发器
- TRIGGER:Mysql触发器
- mysql之触发器trigger
- MYSQL触发器(Trigger)
- mysql 之触发器 trigger
- mysql之触发器trigger
- MySQL触发器 trigger学习
- mysql之触发器trigger
- linux 性能测试监控shell脚本
- Docker安装以及registry搭建
- 解决linux普通用户使用Wireshark的权限不足问题
- RecyclerView指定布局管理器
- 为windows环境的elasticsearch更新license授权文件
- MySQL TRIGGER
- PRML之多项式曲线拟合
- Mac OS 下MySQL的Command not found的问题解决
- 数学分析 导数的四则运算法则及多个函数的推广
- String用法简介(1)
- 6.15 鸡兔同笼
- 懒人创造世界------------如何将Excel数据导入到mysql的数据库当中
- ==、equals()、hashcode()对比
- poj-3233 Matrix Power(构造矩阵+矩阵快速幂)