mysql 开发基础系列19 触发器
触发器是与表有关的数据库对象,触发器只能是针对创建的永久表,而不能是临时表。
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 触发器相关推荐
- mysql 开发基础系列18 存储过程和函数(下)
1. 光标的使用(游标) 在存储过程和函数中可以使用光标对结果集进行循环的处理,光标使用包括光标的声明,open ,fetch,close. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...
- mysql 开发基础系列22 SQL Model(带迁移事项)
一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql. sql ...
- 掌握web开发基础系列--物理像素、逻辑像素、css像素
思考一下 什么是物理像素?什么是css像素? 在 <掌握web开发基础系列--长度单位> 这篇文章中已经介绍过了css像素单位--px,这篇文章详细探讨一下设备物理像素和css像素之间的关 ...
- asp.net控件开发基础系列
本系列文章示例源码下载.各位如遇问题,请多查msdn,多利用网络.本人可能没时间一一回复,谢谢你们的支持,希望看到此文的人都能学好控件开发 http://www.cnblogs.com/Clingin ...
- 夯实Java基础系列19:一文搞懂Java集合类框架,以及常见面试题
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性
系列目录 [已更新最新开发文章,点击查看详细] 在前几篇博客中介绍了一个三维文件/模型包含多个构建,每个构建又是由多种材质组成,每个构建都有很多属性.不同的构建也有可能包含相同的属性. 上图中 ...
- Mysql数据库基础系列(二):表结构、键值
表结构 约束条件 查看约束条件 mysql> desc 库名.表名; 字段名----| 类型---------------| 空------ |键值-- |默认值---- |额外设置 | 设置约 ...
- Java基础系列19:使用JXL或者POI生成和解析Excel文件
一 简介 如题所示,当我们需要在Java中解析Excel文件时,可以考虑使用JXL或POI的API来解析. 二者的区别如下: jxl现在基本上没被维护了,最近一次更新时间还是几年前.相反,poi属于A ...
- Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
最新文章
- 怎么看懂别人写的单片机项目代码?
- css中overflow:hidden的属性 可能会导致js下拉菜单无法显示
- c语言的查询功能,求C语言实现查询功能(如果选择3,如何实现查询)
- 网页设计师应向肖像画家吸取的11个理念
- 普通人学python有意义吗_学python难吗
- 利用windows 2003实现服务器群集的搭建与架设(二)
- potala(5)——Unit Test and Cache
- Apache Struts ‘includeParams’安全绕过漏洞
- 兔子--R.java丢失原因及解决的方法
- 传统语音识别介绍【二】—— 特征提取
- java date 时分秒_java Date获取年月日时分秒的实现方法
- UE4 材质 溶解材质
- 详解EBS接口开发之销售订单挑库发放
- C++与QML混合编程
- jsp作业--计算矩形、圆形面积
- 双评价技术指南2020_双评价技术学习笔记(旧)
- 海康硬盘录像机报警输出配置设置
- vim代码着色 (字体控)
- wcdma码片速率_转载 WCDMA中码片速率、符号速率、bit速率 WCDMA常用概念
- 无忧SEO 网站推广技巧分享
热门文章
- java impliments,java基础英语---第九天
- 无显示器u盘安装centos_无光驱情况下,U盘启动安装CentOS (实测 笔记)
- 累计增量备份策略_SAN存储做定时/实时备份的介绍
- 零基础学sql要多久_成人零基础学习钢琴,要多久能学会?
- python编程资料包_强力推荐,非常全的Python编程400集学习资料(今日限免)
- 计算机组成与网络题库,计算机组成原理题库
- centos 文件夹网络连接_CentOS的网络配置的命令详解
- python单引号双引号三引号_python中的单引号、双引号和三引号有何区别
- sqlyog-mysql_SQLyog
- linux svn pacman,【图片】manjaro Linux 中的etc pacman.conf设置错误了,谁发个默认的我看看,谢谢大佬们了_manjaro吧_百度贴吧...