我是靠谱客的博主 内向秀发,最近开发中收集的这篇文章主要介绍MySQL——触发器的基本操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实验环境:

1、 操作系统:window10
2、 MySQL 5.7

实验内容与完成情况:

1.在sc表中创建insert、update触发器,检查学号是否为student表中的学号,若无则不许插入选课记录或修改选课表学生学号。
1.1 创建insert触发器:

delimiter //
create trigger TR_SC_IN_SNO after insert on sc
for each row
begin
	if new.sno not in (select sno from student) then
    signal sqlstate '45000'
    set message_text='Insert Error';
    end if;
end;//
delimiter ;

1.2 创建update触发器:

delimiter //
create trigger TR_SC_UP_SNO after update on sc
for each row
begin
	if new.sno not in (select sno from student) then
    signal sqlstate '45000'
    set message_text='Update Error';
    end if;
end;//
delimiter ;

在这里插入图片描述
2.在sc表中录入或修改实验数据,查看触发器的执行情况。
首先查看student表中存在的学生学号,如下所示:
在这里插入图片描述
2.1 在sc表中录入数据:

insert into sc values
	('2006005','2',80);

运行结果:
11:22:32 insert into sc values (‘2006005’,‘2’,80) Error Code: 1644. Insert Error 0.015 sec

2.2 在sc表中修改数据:

update sc set sno='2006005' where sno='2005005';

运行结果:
11:25:15 update sc set sno=‘2006005’ where sno=‘2005005’ Error Code: 1644. Update Error 0.000 sec

最后

以上就是内向秀发为你收集整理的MySQL——触发器的基本操作的全部内容,希望文章能够帮你解决MySQL——触发器的基本操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(147)

评论列表共有 0 条评论

立即
投稿
返回
顶部