1、什么是触发器

触发器是与表有关的命名数据库对象。触发器由事件来触发某个操作。

触发器是特殊的存储过程,触发器不需要call语句来调用,也不需要手工启动,只需要确定一个预定义的事件发生的时候,就会被MySQL自动调用。

2、创建触发器

  1》创建只有一个执行语句的触发器

//trigger_time触发的时机,可以指定before或after;//trigger_event标识触发事件,包括insert、update、delete;
//trigger_stmt是触发器执行语句。
create trigger trigger_name trigger_time trigger_event
on tb_name for exch row trigger_stmt

mysql> create table account(num int,amount decimal(10,2));
Query OK, 0 rows affected (0.03 sec)mysql> create trigger ins_num before insert-> on account-> for each row set @sum=@sum+NEW.amount;
Query OK, 0 rows affected (0.02 sec)mysql> set @sum=0;
Query OK, 0 rows affected (0.00 sec)mysql> insert into account values(1,1.00),(2,2.00);
Query OK, 2 rows affected (0.02 sec)
Records: 2  Duplicates: 0  Warnings: 0mysql> select @sum;
+------+
| @sum |
+------+
| 3.00 |
+------+
1 row in set (0.00 sec)mysql>

2》创建有多个执行语句的触发器

create trigger trigger_name trigger_time trigger_event
on tb_name for exch row
begin...
end

mysql> create table t1(a1 int);
Query OK, 0 rows affected (0.03 sec)mysql> create table t2(a2 int);
Query OK, 0 rows affected (0.01 sec)mysql> delimiter //
mysql> create trigger trigger_insert_t1 before insert-> on t1 for each row-> begin->   insert into t2 values(NEW.a1);-> end//
Query OK, 0 rows affected (0.01 sec)mysql> delimiter ;
mysql> insert into t1 values(233);
Query OK, 1 row affected (0.00 sec)mysql> select * from t1;
+------+
| a1   |
+------+
|  233 |
+------+
1 row in set (0.00 sec)mysql> select * from t2;
+------+
| a2   |
+------+
|  233 |
+------+
1 row in set (0.00 sec)mysql>

3、查看触发器,2种方式

1》show triggers

show triggers;

2》在triggers表中查看触发器信息。

select * from information_schema.triggers where condition;

4、触发器的使用

在insert、update、delete事件中对数据检查等。

5、删除触发器

drop trigger [schema_name.]trigger_name

转载于:https://www.cnblogs.com/ZeroMZ/p/11462768.html

MySQL-快速入门(10)触发器相关推荐

  1. 阿里云rds for mysql平台介绍_阿里云RDS for MySQL 快速入门——笔记

    1初始化配置 1.1设置白名单 创建RDS实例后,需要设置RDS实例的白名单,以允许外部设备访问该RDS实例.默认的白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例. 设 ...

  2. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  3. mysql rds云数据库_云数据库 RDS MySQL快速入门手册

    云数据库 RDS MySQL是一款基于成熟云计算技术提供的高性能数据库服务,具有入门版.基础版.通用版.进阶版这四种,但最近有朋友表示,说自己并不会使用云数据库 RDS MySQL,为了帮助大家更好设 ...

  4. Mysql快速入门 在python、java使用

    三分钟搞定Mysql数据库的安装 下载链接 链接:https://pan.baidu.com/s/1utfNkqgi2dG5NBiiaMgy3A  提取码:ahuf 用到的命令: mysqld --i ...

  5. Spread for Windows Forms快速入门(10)---绑定到数据库

    下面的教程将带你创建一个工程, 并将Spread控件绑定到一个数据库. 在这个教程中,主要的步骤为: 1. 将Spread添加到一个数据绑定工程中 2. 设置数据库连接 3. 指定要使用的数据 4. ...

  6. 【个人笔记】OpenCV4 C++ 快速入门 10课

    个人资料,仅供学习使用 修改时间--2022年2月10日 10:29:12 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 10 图像像素的逻辑操作 opencv知识点: 绘制 ...

  7. 【第0天】MYSQL快速入门-了解MySQL存储引擎(SQL 小虚竹)

    回城传送–><100天精通MYSQL从入门到就业> 文章目录 零.前言 一.什么是数据库引擎 二.MYSQL中有哪些数据库引擎 2.1.MyISAM 2.2.Memoey 2.3.I ...

  8. SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )

    SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...

  9. MySQL快速入门笔记

    文章目录 1.数据库的基本操作 2.表的基本操作 3.数据操作 4.数据类型 5.列属性完整性 6.数据库设计思维 7.单表查询 8.多表查询 9.子查询 10.视图(view) 11.事务(tran ...

  10. mysql 快速入门_MySql快速入门

    一.数据库基本概念 数据库:信息存储的仓库,包括一系列的关系措施! 表:一个数据库中可以有若干张表(形式上你可以看出我们日常生活中建立的表) 字段:表里面的信息会分若干个栏目来存,这些栏目呢,我们在数 ...

最新文章

  1. [CRM] CRM 产品周期
  2. linux与windows互传文件、用户与用户组管理、密码配置文件
  3. Redhat 6.4_联网 yum 配置
  4. lvm-snapshot:基于LVM快照的备份
  5. 三、Unity中的鼠标、键盘的获取
  6. 分享两个好用的nosql GUI工具
  7. Opencv--findHomography 与 getPerspectiveTransform异同
  8. tomcat相关配置技巧梳理 (修改站点目录、多项目部署、限制ip访问、大文件上传超时等)...
  9. keras 多输出问题
  10. css编写加载页面动画效果
  11. 递归怎么理解 php,求php一段递归代码的理解
  12. 21年,周杰伦越发孤独
  13. 生活大爆炸第五季 那些精妙的台词翻译
  14. java程序员 .net 程序员_Java 程序员 和 .NET 程序员
  15. Android用自定义View画小猪佩奇
  16. 前端笔记-201808
  17. 真香,华为主动离职也给 N+1
  18. APISpace 星座查询API
  19. html表格向上,实现table上下滚动
  20. SQL查询cross join 的用法(笛卡尔积)

热门文章

  1. freetype 2.11.0必须使用VS2012编译
  2. Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/
  3. FFMpeg的avcodec_send_packet/avcodec_receive_frame是异步解码
  4. C compiler test failed.
  5. 解决办法:无法安装 /lib/x86_64-linux-gnu/libpng12.so.0 的新版本
  6. C向Python传递数组参数时,调用函数后才能销毁
  7. 携程中转机票竟然相差23小时
  8. 表带可作为显示操作装置
  9. android 退出应用没有走ondestory方法,[Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?...
  10. python之定义默认参数_035-Python之定义默认参数