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、删除触发器
这里要多说一句咱们自己写代码创建触发器可能会写错而触发器又不能更新或者覆盖。如果要修改触发器只能够先删除触发器然后再重新创建。
语法
案例
今天9月10日是教师节,我们今天有没有让孩子带礼物和花送给老师?我们这边不允许带礼物进学校,直接有校长在门口遇到有带礼物的直接拦截下来。今天有看到Friendhosting最近推出了教师节优惠,VPS全场45折,全球多机房可选,有需要的可以看看。Friendhosting是一家成立于2009年的保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌...
欧路云 主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。由专业人员提供一系列的技术支持!官方网站:https://www.oulucloud.com/云服务器(主机测评专属优惠)全场8折 优惠码:zhuji...
云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...