mysql - MySQL 创建数据库表查询
问题描述
我想在两个或多个表之间创建一个连接表。
这些表是学生和课程。
加入表将被注册。
商业规则是学生一次只能注册一门课程。
我想阻止用户在课程中进行 1 次注册后创建额外的注册。
我不确定这将是什么类型的约束,或者它是否可能。
任何人都可以帮忙吗?
谢谢你
注意:我认为不可能创建一个主键作为另一个表的主键,即学生表的学生ID。如果可以的话,我会的。打破了我认为的规则。这将是一个不唯一的外键。
如果商业规则应该被忽略,并假设一个学生自然会一次只注册一门课程......也许我不再担心......
解决方案
您可以在连接表中创建唯一索引。
创建唯一索引 index_name ON
your_join_table
(studentId);
推荐阅读
- python-3.x - 是否可以从 Python 中正在进行的子进程打开终端?
- angular - Angular 单元测试在更改时重新运行;插入shell命令?
- c# - 当需要深度克隆单个对象时,我应该担心性能最高的深度克隆算法还是只是手动复制?
- matlab - 在 Matlab 中对数组的索引/分组元素执行操作
- mysql - 使用 Excel 电子表格中的无 PK 数据更新 SQL 表
- python - r网状OOP方法失败
- amazon-neptune - 无法启动 Neptune 笔记本
- angular - 使用 Angular 9 难以更新极简主义者
- typescript - Electron & TypeScript (&electron-builder):“不能在模块外使用 import 语句”
- json - Postgresql - 嵌套 JSON blob 中的元素计数