1.触发器的基本概念

触发器是一种特殊的存储过程,但是它又不同于存储过程.因为它主要是通过事件被触发而执行,不同于存储过程需要主动调用存储过程的名字进行执行

2.触发器的基本语法

CREATE TRIGGER <trigger_name>
BEFORE|AFTER
INSERT|UPDATE|DELETE  ON <table_name>
FOR EACH ROW
BEGINsql语句
END

<trigger_name> :触发器的名称

before|after:在事件之前处罚还是在事件之后处罚

insert|update|delete: 你需要触发的事件点

<table_name>:表名

for each row:固定写法

3.案例

3.1. 首先创建两张表进行测试

3.2.创建新增触发器

create trigger triggerTest
after insert
on test_dev01.user_info
for each row
beginINSERT into test_dev02.user_info(name,age,address) values(new.name,new.age,new.address);
end;

注意点:MySQL 中定义了 NEW 和 OLD,用来表示触发器的所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容

  1. 在insert型触发器中,new用来表示将要(before)或已经(after)插入的新数据;
  2. 在update型触发器中,OLD用来表示将要或已经被修改的原数据,new用来表示将要或已经修改为的新数据;
  3. 在delete型触发器中,OLD用来表示将要或已经被删除的原数据;

3.3 创建修改触发器

create trigger triggerTest2
before update
on test_dev01.user_info
for each row
beginupdate test_dev02.user_info set name=new.name,age=new.age,address=new.address where id = new.id;
end;

3.4 触发器和if嵌套

create trigger triggerTest3
before insert
on test_dev01.user_info
for each row
begin
IF new.age > 3
THENupdate test_dev02.user_info set name=new.name,age=new.age,address=new.address where id = new.id;
END IF;
end;

注意点:和if嵌套

if()
then ;
elseif
then
elseif
then ...;
else
sql代码
end if;

以上仅供参考;

mysql触发器使用案例相关推荐

  1. MySQL 触发器应用案例

    网友问题:对于MySQL主从复制结构中,如何让Slave过滤delete操作. 问题分析:该问题对应的是保全所有的记录,包括delete的记录. 对于MySQL本身的过滤规则粒度是精确到表的粒度. 主 ...

  2. mysql触发器如果提示_mysql 触发器

    1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...

  3. mysql latid1_【转】mysql触发器的实战经验(触发器执行失败,sql会回滚吗) | 学步园...

    1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...

  4. MySQL触发器介绍

    前言: 在学习 MySQL 的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下 MySQL 触发器相关知识. 1.触发器简介 触发器即 tr ...

  5. MySQL触发器基本实操

    触发器(Trigger)是 MySQL 中非常实用的一个功能,它可以在操作者对表进行「增删改」 之前(或之后)被触发,自动执行一段事先写好的 SQL 代码. 本教程带领大家在实践中学习,你将学到触发器 ...

  6. 8. MySQL -- 触发器

    目录 触发器概念 语法 案例 创建表 修改库存触发器 触发器的改进 存在的两种问题 触发器before和after的区别 after和before的区别: 新建触发器: 为什么大家都不推荐使用MySQ ...

  7. 利用MySQL触发器实现check和assertion

    MySQL虽然输入check语句不会报错,但是实际上并没有check的功能.但是MySQL 依然可以利用触发器来实现相应功能. 本文将根据两个例子简要阐述MySQL实现check和assertion的 ...

  8. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  9. mysql 触发器学习

    mysql 触发器学习 1. 一个简单的例子 1.1. 创建表: create table t(s1 integer); 1.2. 触发器: delimiter | create trigger t_ ...

最新文章

  1. YII相关知识点记录
  2. dx:ASPxGridView 批量删除
  3. 科沃斯机器人电池激活_扫地机器人充不进去电怎么办
  4. DFTug - Getting Started(上篇)
  5. 数据结构-直接插入排序讲解(C语言)
  6. 析构设置为虚函数的原因
  7. linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。
  8. hive 导出json格式 文件_Hive 系列 之 基本操作合集
  9. (4)HTML标签补充和HTML转义字符
  10. Android About ContentProvider
  11. vant 日历插件slots_vue的vant组件库中的slot如何按需使用呢
  12. RANDOM模块:PYTHON获取随机数
  13. Golang unsafe包使用笔记
  14. 第8章 多项式回归与模型泛化 学习笔记上
  15. AXI总线(top)
  16. how to use 1checker_vim command
  17. COMSOL6.0软件安装说明+视频教程
  18. 关于博弈论中的一硬币正反问题的分析
  19. 系统的用户分析方法及分析内容
  20. 学习Fiddler安全测试

热门文章

  1. jmeter(二):简单web测试流程
  2. 3D模型文件--STL,OBJ,3DS
  3. 关于Spring boot中的Quartz配置启动开关问题(启动、停止)
  4. 微信小程序request 、跨域问题
  5. 江苏十所计算机应用大学,江苏开放大学计算机应用基础形考第二次作业答案-20210402200848.docx-原创力文档...
  6. 【Linux】概述(Unix和Linux的关系)
  7. php漏洞检测修复,PHPStudy漏洞自查与修复指导
  8. 电商平台源码|电商系统源码的工作原理和搭建部署
  9. 民事诉讼法知识点详细版
  10. 汇智动力——北大研究生的抉择!