首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建学生未参加重复课程的触发器(Mysql)

创建学生未参加重复课程的触发器(Mysql)
EN

Stack Overflow用户
提问于 2017-12-05 21:48:02
回答 1查看 97关注 0票数 1

我是用mysql做的一个学生选课系统,注册系统有一个数据表,表中的字段是sno (学生号)和cno (课程号),如何在mysql中创建触发器来防止学生选择重复课程?

EN

回答 1

Stack Overflow用户

发布于 2017-12-05 21:58:04

设置注册表,将student idcourse id 一起作为主键。如果你能避免触发,这种方式会更容易。

如果你想使用触发器:

代码语言:javascript
复制
delimiter //
drop trigger if exists limitCoursesTrigger //
create trigger limitCoursesTrigger before insert on register_table
for each row
begin
    declare msg varchar(128);
    if exists(select * from register_table where studentid=new.studentid and courseid=new.courseid)
    then
        set msg = concat('Error: The student has already registered for this course !');
        signal sqlstate '45000' set message_text = msg;
    end if;
end //
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47655183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档