如何创建触发器:学生不能选择重复的课程

Roobtyan
博客专家认证
2017-12-05 09:57:54
我做的是一个学生选课管理系统,用的是mysql,有一张选课表,字段sno(学生学号),cno(课程号),请问各位大佬,怎么才能创建一个触发器学生不能选择重复的课程?
...全文
741 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小野马1209 2017-12-11
  • 打赏
  • 举报
回复 1
把学生和编号两个列一起设置为主键 ,数据库会自动把主键设置为聚集索引,这样也就不能录重复值了
Roobtyan 2017-12-08
  • 打赏
  • 举报
回复
引用 1 楼 lht80053623 的回复:
触发器 监视的是insert update delete ,你选课系统怎么实现的, 我猜测时有一个表来维护学生选择的课程吗? 当学生选课结束,就会插入到这个表,那么使用insert触发器,检查学生创建的数据是否符合要求 大概就是这个思路,不知道我说的是不是你想要的?
谢谢!
wandier 2017-12-08
  • 打赏
  • 举报
回复
引用 4 楼 不想长大啊的回复:
一个是上面说的加唯一索引,或者主键索引,同时,在你的应用端,要尽量控制数据的重复性,不要把所有的东西都丢给数据库来处理。
针对这个问题,加唯一索引应该更好,加触发器更慢,触发器能不用还是尽量不要用
zjcxc 2017-12-06
  • 打赏
  • 举报
回复
引用 2 楼 rucypli 的回复:
加唯一索引比较好
就是,有简单的,弄触发器干嘛
LongRui888 2017-12-06
  • 打赏
  • 举报
回复
一个是上面说的加唯一索引,或者主键索引,同时,在你的应用端,要尽量控制数据的重复性,不要把所有的东西都丢给数据库来处理。
rucypli 2017-12-05
  • 打赏
  • 举报
回复
加唯一索引比较好
小小爱好者 2017-12-05
  • 打赏
  • 举报
回复
触发器 监视的是insert update delete ,你选课系统怎么实现的, 我猜测时有一个表来维护学生选择的课程吗? 当学生选课结束,就会插入到这个表,那么使用insert触发器,检查学生创建的数据是否符合要求 大概就是这个思路,不知道我说的是不是你想要的?

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧