trigger
进行数据库应用软件开发时,我们有时会碰到表中的某些数据改变,希望同时引起其他相关数据改变的需求,利用触发器就能满足这样的需求。它能在表中的某些特定数据变化时自动完成某些查询。运用触发器不仅可以简化程序,而且可以增加程序的灵活性
触发器是一类特殊的事务,可以监视某种数据操作(insert/update/delete),并触发相关操作(insert/update/delete)。
监视地点(table)、监视事件(insert/update/delete)、触发时间(after/before)、触发事件(insert/update/delete)
1. 首先创建两个表goods和goods_order
2. insert 。
g_or_1 这是创建的一个添加的insert的触发器。
在cmd中分号(;)代表着一个语句的结束。所以我们需要用 delimiter // (或者 $)来把结束的符号修改。
当我们在goods_order表中添加数据的时候,goods表中商品数量会相对的减少。
2. delete
删除和添加正好是相反的,当我们把goods_order表中的数据删除时,goods表就会恢复原来的数据
3.update
修改这个应用一般是在我们修改购物车的数量时他会进行数据的一个加减,这里没有购物车表,就用订单表来操作,由于goods_order表没有数据,先来添加一点数据。
接着写一个update的触发器
4.添加数据时,判断商品库存
当我们在购买商品时都会去判断商品的库存,或者是在购物车修改商品的数量时,判断商品的库存。
有些商城在你购买商品数量超过库存的时候,它会把最大的商品库存添加到购物车中。在这里只操作一下添加的时候超过库存,购买最大库存。