【发布时间】:2020-03-09 15:01:18
【问题描述】:
我正在使用 MySQL 构建一个新数据库来存储从各种项目中学到的经验教训。当我们在办公室谈论这个时,我们通过项目编号和课程编号来指代课程,即 PR12-81,其中 PR12 是指项目,81 是指该项目中的特定课程。我希望我的数据库中的主键也有一个连字符。
在 SQL 中定义复合键时,我可以让它引用项目和课程,但没有连字符,即 PR1281。我还考虑创建一个数据类型为 CHAR(1) 的单独列,在每一行中放置一个连字符,并声明 PK 由 3 列组成。
还有其他方法可以指定要以首选方式格式化的主键吗?
【问题讨论】:
-
如果键是复合键,则在为 UI 层编写视图或查询时省略连字符并将其添加回来。它不需要存储。恕我直言。
-
这是一个常见问题解答。在考虑发布之前,请阅读手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。请参阅How to Ask 和投票箭头鼠标悬停文本。
标签: mysql sql database composite-primary-key