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

DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
    tab1_id varchar(11)
);

创建表tab2

DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
    tab2_id varchar(11)
);

创建触发器: t_afterinsert_on_tab1

作用:增加tab1表记录后自动将记录增加到tab2表中

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1 
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
     insert into tab2(tab2_id) values(new.tab1_id);
END;

测试一下

INSERT INTO tab1(tab1_id) values('0001');

看看结果

SELECT * FROM tab1;
SELECT * FROM tab2;

example2:

创建触发器: t_afterdelete_on_tab1

作用:删除tab1表记录后自动将tab2表中对应的记录删去

DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
      delete from tab2 where tab2_id=old.tab1_id;
END;

测试一下

DELETE FROM tab1 WHERE tab1_id='0001';

看看结果

SELECT * FROM tab1;
SELECT * FROM tab2;

MySQL 触发器简单实例相关推荐

  1. 【无标mysql触发器trigger实例详解

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 目录 什么是触发器 创建 ...

  2. mysql触发器和oracle,MySQL与Oracle 差异比较之六触发器

    MySQL与Oracle 差异比较之六触发器 触发器 编号 类别 ORACLE MYSQL 注释 1 创建触发器语句不同 create or replace trigger TG_ES_FAC_UNI ...

  3. mysql简单的存储过程实例_mysql存储过程简单实例

    MySql存储过程简单实例: /********************* 创建表 *****************************/ delimiter // DROP TABLE if ...

  4. mysql 统计存储过程实例_MySQL存储过程实例

    一.创建MySQL数据库函数 TCC:无参数,查询fruit表中的所有数据 : TAA:两个参数,查询fruit总共有多少行:查询ids为某个值时水果表的数据 TDD:两个参数,查询ids不等于某个值 ...

  5. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  6. mysql after 不起作用_我的MySQL触发器不起作用,语法简单,不复杂

    我的MySQL触发器不起作用,语法简单,不复杂 我不知道为什么我的触发器不工作,查询工作时手动使用它,但是当我想通过触发器更新它不起作用. 有人可以帮我知道为什么吗? 这是我的触发器: CREATE ...

  7. mysql 两列数据互换_mysql 实现互换表中两列数据方法简单实例

    由于最近项目,有这样一个需求,是把数据库中的两列数据互换,经过好久才搞定,这里写个简单实例,做过记录. 1.创建表及记录用于测试 CREATE TABLE `product` ( `id` int(1 ...

  8. javabean 连接mysql_连接mysql的javabean实例+简单分页

    连接mysql的javabean实例+简单分页 rs.getString(user_id) rs.getString(user_name) rs.getString(user_mail) rs.get ...

  9. mysql 实例复制_MYSQL教程MySQL 复制详解及简单实例

    <MysqL教程MysqL 复制详解及简单实例>要点: 本文介绍了MysqL教程MysqL 复制详解及简单实例,希望对您有用.如果有疑问,可以联系我们. MysqL 复制详解及简单实例 主 ...

最新文章

  1. ie6下常见的bug 调整页面兼容性
  2. QIIME 2教程. 10数据导出ExportingData(2021.2)
  3. 拼多多的真实面试题:数亿的用户,如何用Redis统计独立用户访问量
  4. Podfile grammar
  5. 深入理解支持向量机(SVM)
  6. Https的前世今生
  7. 企业项目开发中的问题
  8. C#函数式编程之序列
  9. Citrix XenApp6.5的安装
  10. Linux lame无法识别WAV,Lame框架 MP3与WAV互转
  11. Silverlight for Windows Phone 开发学习笔记(-)
  12. mysql 查看修改连接数据库_mysql查看最大连接数和修改mysql数据库最大连接数方法...
  13. npy文件过大 如何处理
  14. 希捷、西部数据硬盘保修查询
  15. 中国软件行进销存管理系统 免费
  16. vue前端上传文件夹的插件_vue文件上传插件
  17. 信息安全技术--轮转机密码
  18. 关于人工智能写作的发展以及看法
  19. JavaScript:自动生成博文目录导航
  20. 两本 PDF + 一个插件:labuladong 刷题三件套正式发布

热门文章

  1. 对进入单用户进行加密
  2. 心有多宽 路就有多宽-- BreezeMH源码公布
  3. centos6 64位服务器的基本初始化
  4. 内容激活码jsp发送email
  5. Linux 命令 sudo 用法及配置解析
  6. 《Asp.Net 2.0 揭秘》读书笔记(一)
  7. NetBeans 时事通讯(刊号 # 5 - Apr 29, 2008)
  8. 5G 标准 — R16
  9. 互联网协议 — VRRP 虚拟路由器冗余协议
  10. 落地三大产业,深耕两个领域,百度AI的这一年|李彦宏乌镇行