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;
相关推荐
三天不学习6 分钟前
【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列
数据库·后端·c#·.net·orm·sqlsugar
Faxxtty8 分钟前
【MySQL】SQL菜鸟教程(二)
数据库·sql·mysql
专注API从业者33 分钟前
如何处理获取到的淘宝评论数据以进行有效的商品品控?
大数据·开发语言·数据库·算法
weisian1511 小时前
Mysql--架构篇--存储引擎InnoDB(内存结构,磁盘结构,存储结构,日志管理,锁机制,事务并发控制等)
数据库·mysql·架构
Java 第一深情1 小时前
MySQL核心揭秘:InnoDB存储引擎高级特性
数据库·mysql
曹二7471 小时前
MySQL_约束
数据库·sql
神仙别闹1 小时前
基于JSP+MySQL实现的校园bbs论坛
java·开发语言·mysql
King.6242 小时前
SQLynx 数据库管理平台 3.6.0 全新发布:全面支持华为数据库和ClickHouse,代码提示更智能!
大数据·数据库·人工智能·sql·mysql·clickhouse·华为
太阳伞下的阿呆3 小时前
CentOS 8 如何安装java与mysql
java·mysql·centos