MySQL 触发器简单实例
from:http://www.qianyunlai.com/blog/470.html ~~语法~~
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的标准有所不同。
~~实例~~
example1:
创建表tab1
CREATE TABLE tab1(
tab1_id varchar(11)
);
创建表tab2
CREATE TABLE tab2(
tab2_id varchar(11)
);
创建触发器: t_afterinsert_on_tab1
作用:增加tab1表记录后自动将记录增加到tab2表中
CREATE TRIGGER t_afterinsert_on_tab1
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
insert into tab2(tab2_id) values(new.tab1_id);
END;
测试一下
看看结果
SELECT * FROM tab2;
example2:
创建触发器: t_afterdelete_on_tab1
作用:删除tab1表记录后自动将tab2表中对应的记录删去
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
delete from tab2 where tab2_id=old.tab1_id;
END;
测试一下
看看结果
SELECT * FROM tab2;
MySQL 触发器简单实例相关推荐
- 【无标mysql触发器trigger实例详解
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 目录 什么是触发器 创建 ...
- mysql触发器和oracle,MySQL与Oracle 差异比较之六触发器
MySQL与Oracle 差异比较之六触发器 触发器 编号 类别 ORACLE MYSQL 注释 1 创建触发器语句不同 create or replace trigger TG_ES_FAC_UNI ...
- mysql简单的存储过程实例_mysql存储过程简单实例
MySql存储过程简单实例: /********************* 创建表 *****************************/ delimiter // DROP TABLE if ...
- mysql 统计存储过程实例_MySQL存储过程实例
一.创建MySQL数据库函数 TCC:无参数,查询fruit表中的所有数据 : TAA:两个参数,查询fruit总共有多少行:查询ids为某个值时水果表的数据 TDD:两个参数,查询ids不等于某个值 ...
- java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码
jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...
- mysql after 不起作用_我的MySQL触发器不起作用,语法简单,不复杂
我的MySQL触发器不起作用,语法简单,不复杂 我不知道为什么我的触发器不工作,查询工作时手动使用它,但是当我想通过触发器更新它不起作用. 有人可以帮我知道为什么吗? 这是我的触发器: CREATE ...
- mysql 两列数据互换_mysql 实现互换表中两列数据方法简单实例
由于最近项目,有这样一个需求,是把数据库中的两列数据互换,经过好久才搞定,这里写个简单实例,做过记录. 1.创建表及记录用于测试 CREATE TABLE `product` ( `id` int(1 ...
- javabean 连接mysql_连接mysql的javabean实例+简单分页
连接mysql的javabean实例+简单分页 rs.getString(user_id) rs.getString(user_name) rs.getString(user_mail) rs.get ...
- mysql 实例复制_MYSQL教程MySQL 复制详解及简单实例
<MysqL教程MysqL 复制详解及简单实例>要点: 本文介绍了MysqL教程MysqL 复制详解及简单实例,希望对您有用.如果有疑问,可以联系我们. MysqL 复制详解及简单实例 主 ...
最新文章
- ie6下常见的bug 调整页面兼容性
- QIIME 2教程. 10数据导出ExportingData(2021.2)
- 拼多多的真实面试题:数亿的用户,如何用Redis统计独立用户访问量
- Podfile grammar
- 深入理解支持向量机(SVM)
- Https的前世今生
- 企业项目开发中的问题
- C#函数式编程之序列
- Citrix XenApp6.5的安装
- Linux lame无法识别WAV,Lame框架 MP3与WAV互转
- Silverlight for Windows Phone 开发学习笔记(-)
- mysql 查看修改连接数据库_mysql查看最大连接数和修改mysql数据库最大连接数方法...
- npy文件过大 如何处理
- 希捷、西部数据硬盘保修查询
- 中国软件行进销存管理系统 免费
- vue前端上传文件夹的插件_vue文件上传插件
- 信息安全技术--轮转机密码
- 关于人工智能写作的发展以及看法
- JavaScript:自动生成博文目录导航
- 两本 PDF + 一个插件:labuladong 刷题三件套正式发布