MySQL触发器

1、在d_eams数据库student表中添加一条学生信息时,显示提示信息

复制代码
use d_eams;
delimiter %%
create trigger ct_student after insert
on student for each row 
set @info = '添加成功,欢迎新同学!';
%%
delimiter ;

假设添加一条学生记录

复制代码
insert into student
values('201907020','张超','女','2000-2-1','汉族','共青团员');

查看@info的值

复制代码
select @info;

2、在d_eams数据库中student表中创建一个名为ct_update的触发器,该触发器将不允许用户修改表中的记录(本例通过ROLLBACK WORK子句恢复原来的数据的方法,来实现记录不被修改)

复制代码
use d_eams;
delimiter $$
create trigger ct_update after update
on student for each row
begin
set @inf = '你不能做任何更改!';
end $$
delimiter ;

创建好触发器后执行UPDATE操作

复制代码
begin work;
update student set 民族='蒙古族' where 学号='201007001';
rollback work;
select @ inf;
select * from student
where 学号='201007001';

3、在d_eams 数据库的student表中创建一个名为ct_delete 的触发器,该触发器将对student表中删除记录的操作给出提示信息,并取消当前的删除操作(本例通过ROLLBACK WORK子句的恢复原来的数据方法,来实现记录不被删除)

复制代码
use d_eams;
delimiter $$
create trigger ct_delete before delete
on student for each row 
begin
set @info1='你无权删除此记录!';
end $$
delimiter ;

创建好触发器后执行DELETE

复制代码
begin work;
delete from student
where 学号='201007006';
rollback work;
select @info1;
select * from student
where 学号='201007006';

4、查看触发器

复制代码
use d_eams;
show triggers;

5、查看触发器ct_student 的信息

复制代码
use d_eams;
show create trigger ct_student;

6、查看information_schema数据库下的triggers表

复制代码
select * from information_schema.triggers;

7、删除student表中的ct_student 触发器

复制代码
use d_eams;
drop trigger ct_student;

8、创建一个插入事件的触发器

复制代码
use d_eams;
delimiter %%
create trigger TR_course after insert
on course for each row 
begin
set @tr_i='操作成功!';
end %%
delimiter ;

假设添加一条课程记录

复制代码
insert into course
values('07013','UI设计',null,4,4,'4');
select @tr_i;
相关推荐
小白男神1 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶1 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G1 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备1 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远1 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
程序猿_极客1 天前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安1 天前
MySQL-触发器
数据库·mysql