触发器是与表有关的数据库对象,触发器只能是针对创建的永久表,而不能是临时表。

1.1 创建触发器

 -- 语法:
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt

  trigger_time:是触发器的触发时间,可以是 before或after, before是检查约束前触发,而after是检查约束后触发。
  trigger_event:是触发器的触发事件,可以是 insert,update,delete。
  同一个表相同的触发时间的相同触发事件,只能定义一个触发器。使用别名old和new 来引用触发器中发生变化的记录内容。

--  先查看city_memory数据(触发前查看表数据)
SELECT * FROM city_memory;

-- 创建city表的insert 触发器 使用AFTER触发时间
DELIMITER $$
CREATE TRIGGER  tri_cityAFTER INSERT ON city FOR EACH ROW BEGIN
INSERT INTO city_memory (country_id, cityname, Citycode)
VALUES (new.country_id, new.cityname, new.Citycode);
END;
$$
DELIMITER ;-- 插入city表数据,触发city表插入触发器
INSERT INTO  city(country_id, cityname, Citycode) VALUES(2,'中国触发','001触发');

-- 再次查看SELECT * FROM city_memory; 如下图所示:

  下面是city表数据:

2. 查看触发器

-- 使用information_schema.triggers来查看
SELECT * FROM information_schema.triggers WHERE trigger_name = 'tri_city'

3. 删除触发器

DROP TRIGGER tri_city;

总结:触发器的限制:

(1)触发程序不能调用将数据返回客户端的存储程序。

(2)不能在触发器中使用以显式或隐式方式开始或结束事务的语句。

编写过于复杂的触发器或者增加过多的触发器对记录的插入、更新、删除操作肯定会有比较严重的影响。不要将应用的处理逻辑过多的依赖于触发器来处理。

转载于:https://www.cnblogs.com/MrHSR/p/9297960.html

mysql 开发基础系列19 触发器相关推荐

  1. mysql 开发基础系列18 存储过程和函数(下)

    1. 光标的使用(游标) 在存储过程和函数中可以使用光标对结果集进行循环的处理,光标使用包括光标的声明,open ,fetch,close. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...

  2. mysql 开发基础系列22 SQL Model(带迁移事项)

    一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql. sql ...

  3. 掌握web开发基础系列--物理像素、逻辑像素、css像素

    思考一下 什么是物理像素?什么是css像素? 在 <掌握web开发基础系列--长度单位> 这篇文章中已经介绍过了css像素单位--px,这篇文章详细探讨一下设备物理像素和css像素之间的关 ...

  4. asp.net控件开发基础系列

    本系列文章示例源码下载.各位如遇问题,请多查msdn,多利用网络.本人可能没时间一一回复,谢谢你们的支持,希望看到此文的人都能学好控件开发 http://www.cnblogs.com/Clingin ...

  5. 夯实Java基础系列19:一文搞懂Java集合类框架,以及常见面试题

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  6. C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性

    系列目录     [已更新最新开发文章,点击查看详细] 在前几篇博客中介绍了一个三维文件/模型包含多个构建,每个构建又是由多种材质组成,每个构建都有很多属性.不同的构建也有可能包含相同的属性. 上图中 ...

  7. Mysql数据库基础系列(二):表结构、键值

    表结构 约束条件 查看约束条件 mysql> desc 库名.表名; 字段名----| 类型---------------| 空------ |键值-- |默认值---- |额外设置 | 设置约 ...

  8. Java基础系列19:使用JXL或者POI生成和解析Excel文件

    一 简介 如题所示,当我们需要在Java中解析Excel文件时,可以考虑使用JXL或POI的API来解析. 二者的区别如下: jxl现在基本上没被维护了,最近一次更新时间还是几年前.相反,poi属于A ...

  9. Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

最新文章

  1. 怎么看懂别人写的单片机项目代码?
  2. css中overflow:hidden的属性 可能会导致js下拉菜单无法显示
  3. c语言的查询功能,求C语言实现查询功能(如果选择3,如何实现查询)
  4. 网页设计师应向肖像画家吸取的11个理念
  5. 普通人学python有意义吗_学python难吗
  6. 利用windows 2003实现服务器群集的搭建与架设(二)
  7. potala(5)——Unit Test and Cache
  8. Apache Struts ‘includeParams’安全绕过漏洞
  9. 兔子--R.java丢失原因及解决的方法
  10. 传统语音识别介绍【二】—— 特征提取
  11. java date 时分秒_java Date获取年月日时分秒的实现方法
  12. UE4 材质 溶解材质
  13. 详解EBS接口开发之销售订单挑库发放
  14. C++与QML混合编程
  15. jsp作业--计算矩形、圆形面积
  16. 双评价技术指南2020_双评价技术学习笔记(旧)
  17. 海康硬盘录像机报警输出配置设置
  18. vim代码着色 (字体控)
  19. wcdma码片速率_转载 WCDMA中码片速率、符号速率、bit速率 WCDMA常用概念
  20. 无忧SEO 网站推广技巧分享

热门文章

  1. java impliments,java基础英语---第九天
  2. 无显示器u盘安装centos_无光驱情况下,U盘启动安装CentOS (实测 笔记)
  3. 累计增量备份策略_SAN存储做定时/实时备份的介绍
  4. 零基础学sql要多久_成人零基础学习钢琴,要多久能学会?
  5. python编程资料包_强力推荐,非常全的Python编程400集学习资料(今日限免)
  6. 计算机组成与网络题库,计算机组成原理题库
  7. centos 文件夹网络连接_CentOS的网络配置的命令详解
  8. python单引号双引号三引号_python中的单引号、双引号和三引号有何区别
  9. sqlyog-mysql_SQLyog
  10. linux svn pacman,【图片】manjaro Linux 中的etc pacman.conf设置错误了,谁发个默认的我看看,谢谢大佬们了_manjaro吧_百度贴吧...