一、关于触发器

mysql从5.0.2版本开始支持触发器的功能。触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。

二、触发器相关操作

2.1 创建触发器

创建触发器的语法:

CREATE TRIGGER trigger_name trigger_time trigger_event

ON tbl_name FOR EACH ROW

trigger_stmt

通用语句:

CREATE TRIGGER 触发器名

after/before insert/update/delete on 表名

FOR EACH ROW  #这一句在mysql中是固定的

BEGIN

sql语句;

END;

注意:触发器只能创建在永久表(permanent table)上,不能对临时表(temporary table)上创建触发器

其中trigger_time是触发器的触发时间,可以使BEFORE或者AFTER,BEFORE的含义指在检查约束前触发,而AFTER是在检查约束后触发。

而trigger_event 就是触发器的触发事件,可以是INSERT,UPDATE或者DELETE。

对同一个表相同触发事件的相同触发事件,只能定义一个触发器。例如,对某个表的不同字段的AFTER更新触发器,在使用oracle数据库的时候,可以定义成两个不同的UPDATE触发器,更新不同的字段是触发单独的触发器,但是在mysql数据库中,只能定义一个触发器,在触发器中通过判断更新的字段进行对应的处理。

使用别名OLD和NEW来引发触发器发生变化的记录内容,这与其他的数据库是相似的。现在触发器还支持行级触发,不支持语句级触发。

详细介绍可以参考博客: mysql之触发器trigger

mysql-----触发器相关推荐

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

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

  2. MySQL 触发器应用案例

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

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

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

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

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

  5. mysql 触发器学习

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

  6. mysql 触发器 分行_mysql 触发器

    mysql 触发器中有两个insert 语句 第二个inert 要用第一个insert 的结果怎么实现 DELIMITER $$ USE `nightclub`$$ DROP TRIGGER /*!5 ...

  7. mysql触发器 存储过程_mysql触发器和存储过程

    Mysql触发器和存储过程 1 / 9Mysql触发器 1.语法:命名规则 CREATE TRIGGER { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ...

  8. mysql之触发器详解_学习笔记之MySQL触发器详解

    触发器是由事件来触发某个操作,这些事件包括INSERT语句,UPDATE语句和DELETE语句 创建触发器 创建只有一个执行语句的触发器 CREATE TRIGGER 触发器名 BEFORE|AFTE ...

  9. MySql 触发器同步备份数据表记录

    添加记录到新记录表 DELIMITER $$ USE `DB_Test`$$ CREATE/*!50017 DEFINER = 'root'@'%' */TRIGGER `InsertOPM_Alar ...

  10. mysql触发器 while循环_mysql触发器跳出当前循环方法

    mysql触发器跳出当前循环方法 set @num=@UnitLength/3; label: while i set @length=(select SUBSTRING(@unit_sid_fk,1 ...

最新文章

  1. Windows环境下启动Mysql服务提示“1067 进程意外终止”的解决方案
  2. 嵌入式系统学习笔记之五-- uboot常用命令 概述
  3. java been 字段命名的坑
  4. 树莓派-语音聊天机器人+语音控制引脚电平高低
  5. 如何制作流畅有力的游戏动画+Skullgirls案例分析
  6. 虽然我们可能不想对元素应用3D变换,可我们一样可以开启3D引擎
  7. hdu 1025 Constructing Roads In JGShining's Kingdom(DP + 二分)
  8. Oracle 数据库升级
  9. nxlog收集windows事件方案
  10. python随机选人程序_python: 随机选择
  11. 电脑主机组装总结——自己动手,丰衣足食
  12. python随机生成电话号码
  13. 微信小程序开发之动图小游戏是实现(代码篇)
  14. Excel复制粘贴出现复制区域与粘贴区域形状不同问题的解决办法
  15. Completed 403 FORBIDDEN 后端解决跨域问题
  16. 10php1c,很急的一個問題,請幫幫忙
  17. (总结)什么是HTML语义化
  18. SSL数字证书是什么?
  19. Atcoder Codefestival Exhibition/Team Relay/Tournament Round 简要题解
  20. Angular------win10搭建Angular环境并运行hello-world

热门文章

  1. springMVC视图解析器的配置和使用
  2. SpringMVC配置任何类型转换器 Converter(以时间类型为例)
  3. 常见移动机器人轮直径校准实验思路
  4. 常见移动机器人轮直径校准
  5. pdf 天线理论与技术 钟顺时_天线理论与技术第二版-钟顺时-第一章部分习题解答.pdf...
  6. [NOIP2015]金币
  7. 微信小程序input安卓手机获取焦点时候上移
  8. html选择器 并列,CSS 中的选择器 (二)- 组合选择器
  9. 字节转换,字符串与数字转换
  10. 关于神经网络,这里有你想要了解的一切!