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、删除触发器
这里要多说一句咱们自己写代码创建触发器可能会写错而触发器又不能更新或者覆盖。如果要修改触发器只能够先删除触发器然后再重新创建。
语法
案例
ucloud美国云服务器怎么样?ucloud是国内知名云计算品牌服务商家,目前推出全球多地机房的海外云服务器。UCloud主打的优势是海外多机房,目前正在进行的2021全球大促活动参与促销的云服务器机房就多达18个。UCloud新一代旗舰产品快杰云服务器已上线洛杉矶节点,覆盖北美和亚太地区,火热促销中, 首月低至7元,轻松体验具备优秀性能与极高性价比的快杰云服务器。点击进入:ucloud美国洛杉矶...
RAKsmart 商家八月份的促销活动今天更新。基本上和上个月的产品套餐活动差不多的,不过也是有简单的微调。对于RAKsmart商家还是比较了解的,他们家产品虽然这两年增加多个机房,以及在VPS主机方案上有丰富的机房和调整到一些自营机房,他们家的策划能力还是有限,基本上每个月的套餐活动都差不多。RAKsmart 在八月份看到有新增香港高防服务器可选,最高100GB防御。同时原来上个月缺货的日本独立...
6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...