sql将两列的值组合为主键

新手上路,请多包涵

我有一个 SQL 服务器表,我在其上插入帐户数据。同一账号不能在同一天重复,但如果日期改变可以重复。

客户根据日期和帐号检索数据。

简而言之,日期+帐号是唯一的,不应重复。

由于两者都是不同的字段,我应该将两者连接起来并创建第三个字段作为主键,或者可以选择在合并值上有一个主键。

请以最佳方式指导。

原文由 Danish_k12 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 691
1 个回答

请看一下,它将消除大部分疑虑!

我们可以将 2 个或更多列组合为主键。

_在这种情况下,主键中包含的每一列都将被称为_: 复合键

请注意, 复合键永远不能为空

现在,首先让我向您展示如何将 2 列或更多列作为主键。

 create table table_name ( col1 type, col2 type, primary key(col1, col2));

好处是:

  1. col1 具有值 (X)col2 具有值 (Y) ,那么其他行不能将 col1 作为 (X),将 col2 作为 (Y)。

  2. col1, col2 必须有一些值,不能为空!!

_希望这有帮助_!

原文由 Ashutosh Tiwari 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进