MySQL触发器的作用及使用详解
MySQL在5的版本添加了触发器的功能。虽然现在功能还不是非常强大但是还是可以帮忙咱们解决不少问题。
现在咱们就从使用场景以及使用方式来介绍一下MySQL的触发器并且在最后咱们完成一个使用触发器的小实例。
1、什么是触发器
触发器是与表事件相关的由程序(这里我们主要是指的MySQL数据库)在监控到相应的操作(例如:添加一条数据)时激活执行。
在MySQL中咱们可以去监听用户的D ML语句然后可以在执行前或者执行后再去完成我们自己的功能。
2、触发器能做什么
1在添加一条数据前检查数据是否合理例如检查邮件格式是否正确
2 删除数据后将这条数据进行一个备份(类似于回收站)
3 商品买出(订单修改时审核) 把库存表中的数量进行变化
4 记录数据库操作日志(操作前后)
注大家应该可以发现上面的例子都是在表进行变化时让程序自己去完成一些功能。
这里的表进行变化主要指的就是咱们执行insert,update,delete语句时。
3、怎么创建触发器
触发器的语法
语法分析
注意事项
触发器的名称是唯一的千万不要重复。MySQL5中是要求每个表唯一而不是针对整个数据库但是还是建议在整个数据库范围中保证名称唯一。
每个表的每个事件每次都只能创建一次。 比如说我们一个t_e m ployee表中已经创建了一个insert之前的事件就不能再加一次。
4、案例(删除数据库保存删除信息)
第一步准备相应的表
创建员工表
添加数据
效果
创建回收站表
第二步创建触发器
注上面的O L D指的就是当前咱们要删除的表如O L D.ag e就可以拿到咱们刚刚删
除的表中的那一行的数据的a ge列的值。
第三步测试
现在我去删除employee表中的一条数据:
现在我们可以看两张表的数据em ployee表中id为3的数据已经删除
这时候咱们看一下回收站中的数据
刚才咱们的数据就已经保存在新的表中。
5、删除触发器
这里要多说一句咱们自己写代码创建触发器可能会写错而触发器又不能更新或者覆盖。如果要修改触发器只能够先删除触发器然后再重新创建。
语法
案例
中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...
Dynadot 是一家非常靠谱的域名注册商家,老唐也从来不会掩饰对其的喜爱,目前我个人大部分域名都在 Dynadot,还有一小部分在 NameCheap 和腾讯云。本文分享一下 Dynadot 最新域名优惠码,包括 .COM,.NET 等主流后缀的优惠码,以及一些新顶级后缀的优惠。对于域名优惠,NameCheap 的新后缀促销比较多,而 Dynadot 则是对于主流后缀的促销比较多,所以可以各取所...
已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...