MySQL之如何使用触发器
它包含四个要素:
监视地点(table)
监视事件(insert/update/delete)
触发时
触发器:它是一个特殊的存储过程,它是MySQL在insert、update、delete的时候执行,自动执行,不能直接调用。 它包含四个要素: 监视地点(table) 监视事件(insert/update/delete) 触发时间(after/before) 触发事件(insert/update/delete) 触发器语法:
现有两张表 商品表 goods 和订单表 order 来说明触发器的工作原理; MySQL之如何使用触发器 () 我们现在往goods表添加四条记录:
实现购买任意商品,对应的商品数量相应的减少: 分析: 监视地点:order 表 监视事件:insert操作 触发时间:在insert操作之后 触发事件:update操作
如 我们购买5个手机: INSERT INTO order (goods_id,order_num) VALUES(1,5); 注:对于insert 而言 新增的行使用new 来表示,行中的每一列的值用 new.列名来表示 这时我们会发现goods表、order表的数据如下: MySQL之如何使用触发器 () 2.撤销订单: 分析: 监视地点:order 表 监视事件:delete操作 触发时间:在delete操作之后 触发事件:update操作
现在要取消刚才买的5个手机的订单: DELETE FROM order WHERE order_id=1; 注:对于delete而言 删除的行使用old 来表示mysql触发器, 行中的每一列的值用 old.列名来表示 这时我们会发现goods表、order表的数据发生了如下的变化: MySQL之如何使用触发器 () 修改订单(包括修改购买的数量以及购买的商品) 分两步: 撤销订单;(delete); 新增订单:(insert);
() 注意: 如果在执行创建触发器的时候语句报错 那在 语句之前添加
(编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |