今天的目标是新建一个video视频表和comment评论表,并编写trigger,达到当insert一条评论类型为video的数据到comment中时,video中comment_count字段可以自加一
专辑:mysql每天练习
新建video表
1
2
3
4
5
6
7
8
9
10drop table if exists `video`;
create table `video`(
id int(11) not null auto_increment,
name varchar(32) not null comment '标题',
url varchar(512) not null comment '视频地址',
is_del int(1) not null default 0 comment '是否删除',
create_ts timestamp not null default current_timestamp comment '创建时间',
update_ts timestamp not null default current_timestamp on update current_timestamp comment '修改时间',
primary key(`id`)
)engine=InnoDB default charset=utf8mb4 comment '视频表';添加comment_count字段(不是忘了,就是想练一下add column语句╭(╯^╰)╮)
1
alter table video add column comment_count int(11) not null default 0 comment '评论数量';
新建comment表
1
2
3
4
5
6
7
8
9
10
11drop table if exists `comment`;
create table `comment`(
id int(11) not null auto_increment,
resource_id int(11) not null comment '被评论资源id',
resource_type varchar(16) not null comment '被评论资源类型',
content varchar(1024) not null comment '评论内容',
is_del int(1) not null default 0 comment '是否删除',
create_ts timestamp not null default current_timestamp comment '创建时间',
update_ts timestamp not null default current_timestamp on update current_timestamp comment '修改时间',
primary key(`id`)
)engine=InnoDB default charset=utf8mb4 comment '评论表';新建trigger
1
2
3
4
5
6
7
8
9drop trigger if exists `insert_comment`;
delimiter $
create trigger `insert_comment` after insert on comment for each row
begin
if (new.resource_type = 'video') then
update video set comment_count = comment_count +1 where id = new.resource_id;
end if;
end $
delimiter ;执行相应操作语句
1 | insert into video (name,url) values ('蜘蛛侠:返校季','http://woyemeiyou/wangzhi.mp4'); |
最后结果中video表中的comment_count应该等于1
最近热读
扫码关注公众号,或搜索公众号“温欣爸比”
及时获取我的最新文章