主键和唯一键的区别

29 浏览
0 Comments

主键和唯一键的区别

我正在使用MySQL数据库。

什么情况下应该创建唯一键或主键?

admin 更改状态以发布 2023年5月21日
0
0 Comments

唯一键 (UK): 它是一个列或一组列,可以在行中标识唯一性。

主键 (PK): 它也是一个列或一组列,可以在行中标识唯一性。

因此,主键只是另一个名称的唯一键,但 SQL Server 中的默认实现对主键和唯一键不同。

默认情况下:

  1. PK 创建一个聚簇索引,而 UK 创建一个非聚簇索引。
  2. PK 不允许为空,但 UK 允许为空 (注意:默认情况下)
  3. 一个表只能有一个且仅有一个主键,但可以有多个 UK。
  4. 您可以根据需要覆盖默认实现。

当决定创建 UK 还是 PK 时,这实际上取决于您的目标。它遵循一个类比,就像“如果有一个三人团队,那么他们都是同事,但其中一个人将是一对同事:PK 和 UK 有类似的关系。”我建议阅读这篇文章:作者给出的例子可能看起来不太适合,但请试着获取一个总体的想法。

http://tsqltips.blogspot.com/2012/06/difference-between-unique-key-and.html

0
0 Comments

主键:

  • 一个表中只能有一个主键限制
  • 在某些DBMS中,它不能为NULL,例如MySQL添加NOT NULL
  • 主键是记录的唯一标识符

唯一键:

  • 一个表中可以有多个唯一键
  • 唯一键可以有NULL
  • 它可以是候选键
  • 唯一键可以是NULL;多行可以具有NULL值,因此可能不被视为“唯一”
0