mysql - 在 MySQL 中,如果有多对多表,我应该创建 auto-incr 列作为 PK 还是使用多列唯一作为 PK?为什么?
问题描述
例如,有课程关系表,学生 id 和课程 id 是多唯一的,如果我创建这个关系表,我应该使用 auto-incr 列作为 PK,还是使用学生 id 和课程 id 作为多 PK?
解决方案
有些人将自动增量列作为 PK 添加到每个表中。
但是我相信在表是两个或多个表之间的关系表的情况下,最好有一个多列-PK。
另一方面,删除多列-PK 表条目更费力,因为您需要给出多列-PK 中的所有列。
另外,检查您的技术堆栈(编程语言)是否存在多列 PK 问题。
推荐阅读
- java - 应用程序凭据在 Google Cloud Vision API 中不可用
- android - 无法在 android 中强制转换为 android.location.LocationListener
- typescript - 在navigation.navigate之后反应原生的执行流程
- wordpress - HTACCESS 规则重写 URL 的最后一部分
- android-studio - 当我单击菜单中的项目时,导航抽屉不会在片段之间切换?
- javascript - 如何从雪花中的数据库模式中检索所有表名
- c# - 如何使用 azure 调度程序触发触发器?
- html - 使用本机 html 5 工具提示验证开始/结束日期消息
- pandas - 如何获取 pd.corr() 使用的周期数
- sql - 如何在 sql developer 中计算 oracle db 中的模式大小?