说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732
全网监测海量数据按需发布监测预警
实时把握舆情动态精准追溯信息源头
myesl触发器该如何使用,这个问题是许多在学习网页设计的同学经常会遇到的问题,而且也是必须要掌握的一个知识点。所以今天我们就一起来了解一下有关myesl触发器的相关知识点。
mysql触发器——mysql如何使用触发器
1. 语法:
createtriggertrigger_name
after/beforeinsert/update/deleteontb_name
foreachrow
begin
sql语句:(触发的语句一句或者多句)
end;
2. 现有两张表商品表goods和订单表order来说明触发器的工作原理;
3. 我们现在往goods表添加四条记录:
insertintogoods(goods_name,goods_num)values(“手机”,20),(“电脑”,30),(“单反”,20);
4. 实现购买任意商品,对应的商品数量相应的减少:
分析:
监视地点:order表
监视事件:insert操作
触发时间:在insert操作之后
触发事件:update操作
createtriggert1
afterinserton`order`
foreachrow
begin updategoodssetgoods_num=goods_num-new.order_numwheregoods_id=new.goods_id;
end;
5. 如我们购买5个手机:
insertinto`order`(goods_id,order_num)values(1,5);
注:对于insert而言新增的行使用new来表示,行中的每一列的值用new.列名来表示
6. 撤销订单:
分析:
监视地点:order表
监视事件:delete操作
触发时间:在delete操作之后
触发事件:update操作
droptriggerifexistst1;
createtriggert1
afterdeleteon`order`
foreachrow
begin updategoodssetgoods_num=goods_num+old.order_numwheregoods_id=old.goods_id;
end;
如何利用mysql数据库创建触发器
1. 第一步,首先,在数据库world下找到“触发器”,鼠标右键“创建触/发器”,弹出输入新触发器名称,填写名称“city_trigger”,
2. 第二步,输入完毕,单击“创建”按钮,生成city_trigger,如下图所示:
3. 第三步,为了不影响其他表结构,这里新建一张数据库表t_city_info,代码如下:
createtable`world`.`t_city_info`(
`id`int(8)notnullauto_incrementcomment’id’,
`city_code`int(4)comment’城市编码’,
`city_name`varchar(20)comment’城市名称’,
`city_detail`varchar(100)comment’描述’,
primarykey(`id`)
)charset=utf8;
4. 第四步,数据库表t_city_info创建完毕后,修改触发器代码,代码如下:
delimiter$$
use`world`$$
droptrigger/*!50032ifexists*/`city_trigger`$$
create
/*!50017definer=’root’@’localhost’*/
trigger`city_trigger`beforeinserton`t_city_info`
foreachrowbegin
insertintot_tri_timevalues(now());
end;
$$
delimiter;
5. 第五步,修改`city_trigger`触发器,点击运行按钮,并刷新数据库,可以在触发器文件夹下查看到`city_trigger`,
6. 第六步,然后,先t_city_info中插入一条数据,代码如下:
insertintot_city_info(
id,
city_code,
city_name,
city_detail
)
values
(1000,100,’武汉’,’武汉市’);
点击运行后,出现错误,错误代码如下:
1queriesexecuted,0success,1errors,0warnings
查询:insertintot_city_info(id,city_code,city_name,city_detail)values(1000,100,’武汉’,’武汉市’)
错误代码:1146
table’world.t_tri_time’doesn’texist
执行耗时:0sec
传送时间:0sec
总耗时:0.012sec
7. 第七步,由于t_tri_time不存在,导致出错,接着创建t_tri_time数据库表。
8. 第八步,再次执行插入语句,结果成功;然后,查询t_tri_time数据库表,代码如下:
select*fromt_tri_time。
以上就是myesl触发器该如何使用的所有内容,既然大家已经知道了该触发器如何使用,接下来就需要大家多去练习才能够完全的掌握这一个技巧。若大家还想了解更多与之有关的内容,欢迎关注我们文军零销的官网。
推荐阅读
说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732