当前位置:网站首页 > 技术博客 > 正文

mysql触发器语句



 

触发器是被指定关联到一个表的数据库对象,当一个表的特定事件发生时,它将会被激活。主要用于保护表中的数据。mysql所支持的触发器一共有三种:INSERT触发器、UPDATE触发器、DELETE触发器.

INSERT触发器

在INSERT语句执行之前或之后响应的触发器。应注意如下:

  • 对于AUTO_INCREMENT列,NEW在INSERT执行之前包含的值是0,在INSERT执行之后将包含新的自动生成值

UPDATE触发器

在UPDATE语句执行之前或之后响应的触发器。应注意如下:

  • 在UPDATE触发器代码内,可引用一个名为NEW(不区分大小写)的虚拟表来访问更新的值。
  • 在BEFORE UPDATE触发器中,NEW中的值也可以被更新,即允许更改将要用于UPDATE语句中的值(只要具有对应的操作权限)
  • OLD的值全部是只读的,不能被跟新。
  • 在UPDATE触发器代码内,可引用一个名为OLD(不区分大小写)的虚拟表来访问UPDATE语句执行前的值。

DELETE触发器

在DELETE语句执行之前或之后响应的触发器。应注意如下:

  • OLD的值全部是只读的,不能被跟新。
  • 在DELETE触发器代码内,可引用一个名为OLD(不区分大小写)的虚拟表来访问被删除的行。

基本语法

 

创建BEFORE类型触发器

例子:数据表tb_emp8为员工信息表,包含id、name、deptId和salary字段,创建一个名为SumOfSalary的触发器,触发的条件是向数据表tb_emp8中插入数据之前,对新插入的salary字段值进行求和计算

需要先创建表

 
 

在这里插入图片描述

创建AFTER类型触发器

例子:创建一个名为double_salary的触发器,触发的条件是向数据表tb_emp6中插入数据之后,再向数据表tb_emp7中插入相同的数据,并且salary为tb_emp6中新插入的salary字段值的2倍
 

在这里插入图片描述

修改触发器就是删掉重新再创建。

基本语法

 

删除触发器

例子:删除double_salary触发器
 

在这里插入图片描述

  • 上一篇: html教程 pdf
  • 下一篇: 公共dns 知乎
  • 版权声明


    相关文章:

  • html教程 pdf2025-04-19 13:30:00
  • oracle游标的用法2025-04-19 13:30:00
  • delphi 安装2025-04-19 13:30:00
  • seo搜索引擎优化:基础、案例与实战(第2版)答案2025-04-19 13:30:00
  • qtablewidget gridline2025-04-19 13:30:00
  • 公共dns 知乎2025-04-19 13:30:00
  • 位图索引技术2025-04-19 13:30:00
  • 非常值得一看的java面试题2025-04-19 13:30:00
  • lxml 解析xml2025-04-19 13:30:00
  • php高级面试题2025-04-19 13:30:00