为什么我们需要主键?

生命密码

我正在阅读有关主键的信息,并且在许多教程,技术博客等中,我发现主键可以为null的答案。我认为这是完全错误的,因为我能够在列中插入空值。我想仅当该列声明为非null时,主键才能具有非null值。但这又不是主键的功能。

我的另一个问题是为什么我们有主键的概念,因为我发现主键和唯一键之间只有一个区别是“主键只能在一个列上声明而唯一键可以在多列上声明”。所以我的理解是,如果我们没有其他区别,为什么我们也不能将主键声明为唯一键。

PSK

我想只有在列被声明为非null的情况下,主键才能具有不为null的值,但这又不是主键的功能。

主键不能为空值。根据主键的定义,它是UNIQUENOT NULL

我的另一个问题是为什么我们有主键的概念,因为我发现主键和唯一键之间只有一个区别是“主键只能在一个列上声明而唯一键可以在多列上声明”

这是完全错误的。您也可以在多列上创建主键,主键和唯一键之间的区别是主键不为空,唯一键可以具有空值。

主键的主要目的是识别行的唯一性,其中唯一键是为了防止重复,以下是主键和唯一键之间的主要区别。

首要的关键 :

  1. 一个表只能有一个主键。
  2. 主键由一个或多个列组成。
  3. 主键可增强表的实体完整性。
  4. 所有定义的列都必须定义为NOT NULL
  5. 主键唯一地标识一行。
  6. CLUSTERED默认情况下,主键导致唯一索引。

唯一键:

  1. 一个表上可以定义多个唯一键。

  2. NONCLUSTERED默认情况下,唯一键会导致唯一索引。

  3. 一列或多列构成唯一键。

  4. 列可以是NULL,但NULL每列允许一个。

  5. 唯一约束可以由引用Foreign Key Constraint

我建议您阅读此主键和唯一键

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章