mysql触发器

通过 回答 http://www.iteye.com/problems/96882 这个问题,学习了下触发器

 

问题如下:

商家按分数排序0

我有2张表,一张shop商店表,一张shopcomment商店评价表,
shop表有id , name ,score等字段 ,shopcomment 有id ,shop_id ,score 等字段。

现在需要对商店根据评分排序,我的想法是使用触发器, 添加一条商店评价记录,并对相应的商店进行评分计算。 然后查询的时候根据shop表的score字段查询出来。

现在问题是,我以前没试用过触发器,谁能帮我写一下这个例子的mysql触发器。

或者说下,我现在的思路是否有问题。我使用hibernate框架,以前设计的时候shop表没有score字段, 根据评分排序 获取列表处理这个有点麻烦。对了,获取列表的时候最好以shop表为准,因为shop表还关联了其他一些表,比如优惠信息,地区分类等表
-------------
sql语句如下:
mysql>create database shop;
mysql>use shop;
mysql>create table shop(id varchar(200) primary key, name varchar(200), score int);
mysql>create table shopcomment ( id varchar(200) primary key, shop_id varchar(200) references shop(id), score int);
mysql>insert into shop values ('1', '001', 0);
mysql>create trigger trigger1 after insert on shopcomment for each row update shop set score = (select avg(sc.score) from shopcomment sc where sc.id = new.id) where id = new.shop_id;
mysql>insert into shopcomment values('101' ,'1', 10);
mysql>insert into shopcomment values('102', '1', 8);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值