mysql - 主键应该是什么?

标签 mysql sql database

我遇到了一个我似乎无法解决的问题。

例如,假设我有一张表,其中包含即将发布的视频游戏:

GAME
game_ID | title             
-----------------------------
1       | Super Mario
2       | Final Fantasy XIII

然后我得到了一个包含发布日期的表格(ps3 和 xbox360 的不同日期只是为了争论):

RELEASES
game_ID | releasedate | platform
---------------------------------
1       | 20-04-2010  | Wii
2       | 23-03-2010  | PS3
3       | 20-03-2010  | Xbox360

现在,我已将 game_ID 作为表“GAME”中的主键。 game_ID 也是表“RELEASES”中的外键。我应该将什么作为后者的主键?似乎没有必要在“RELEASES”表中创建另一个 ID key ?

我能否以某种方式同时使用 game_ID 和平台来创建主键?如果是这样,SQL 会是什么样子?

最佳答案

您可以创建一个由 game_idplatform 组成的复合键,就像创建一个仅由一列组成的主键一样:

PRIMARY KEY(game_id, platform)

关于mysql - 主键应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097494/

相关文章:

mysql - Mysql表水平排序

mysql - 无法使用 Node.js 连接 Heroku 上的 ClearDB MySQL

mysql - 如何只显示负值,而让正值全部显示为0?

没有与数据库紧密耦合并使用存储过程的 PHP 框架?

php - 当我用 PDO 重写我的代码时,计数不起作用

mysql - 从多个相同的 mysql 表中获取信息

mysql - 查询限制不起作用

sql - 使用 NVL 显示 'none' 而不是 0

jquery - mysql 查询 - 如何在 where 上编写 if 条件

php - 如何在 Laravel 6 中删除数据库?