热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么我们需要主键?

如何解决《为什么我们需要主键?》经验,为你挑选了1个好方法。

我正在阅读有关主键和许多教程,技术博客等的内容,我发现主键可以为空的答案.我认为这是完全错误的,因为我能够在列中插入空值.我想只有当列被声明为非null时,主键才能具有非null值.但同样,这不是主键的功能.

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



1> PSK..:

我认为只有当列被声明为非null时,主键才能具有非空值.但是,这不是主键的功能.

主键不能具有空值.根据主键的定义,它是UNIQUENOT NULL.

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

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

主键的主要用途是识别行的唯一性,其中唯一键是防止重复,以下是主键和唯一键之间的主要区别.

首要的关键 :

    表只能有一个主键.

    主键由一列或多列组成.

    主键强制执行表的实体完整性.

    定义的所有列必须定义为NOT NULL.

    主键唯一标识一行.

    CLUSTERED默认情况下,主键会生成唯一索引.

独特的关键:

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

    NONCLUSTERED默认情况下,唯一键会生成唯一索引.

    一列或多列构成唯一键.

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

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

我建议你阅读这个主键和唯一键


推荐阅读
author-avatar
blue一个人的秋天_854
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有