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、删除触发器
这里要多说一句咱们自己写代码创建触发器可能会写错而触发器又不能更新或者覆盖。如果要修改触发器只能够先删除触发器然后再重新创建。
语法
案例
DMIT怎么样?DMIT最近动作频繁,前几天刚刚上架了日本lite版VPS,正在酝酿上线日本高级网络VPS,又差不多在同一时间推出了美国cn2 gia线路不限流量的美国云服务器,不过价格太过昂贵。丐版只有30M带宽,月付179.99美元 !!目前,美国云服务器已经有个4个套餐,分别是,Premium(cn2 gia线路)、Lite(普通直连)、Premium Secure(带高防的cn2 gia线...
随着自媒体和短视频的发展,确实对于传统的PC独立网站影响比较大的。我们可以看到云服务器商家的各种促销折扣活动,我们也看到传统域名商的轮番新注册和转入的促销,到现在这个状态已经不能说这些商家的为用户考虑,而是在不断的抢夺同行的客户。我们看到Namecheap商家新注册域名和转入活动一个接一个。如果我们有需要新注册.COM域名的,只需要5.98美元。优惠码:NEWCOM598。同时有赠送2个月免费域名...
Virtono最近推出了夏季促销活动,为月付、季付、半年付等提供9折优惠码,年付已直接5折,而且下单后在LET回复订单号还能获得双倍内存,不限制付款周期。这是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心包括罗马尼亚、美国洛杉矶、达拉斯、迈阿密、英国和德国等。下面列出几款VPS主机配置信息,请留意,下列配置中...