首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >主键和唯一键的区别

主键和唯一键的区别
EN

Stack Overflow用户
提问于 2012-03-05 19:39:54
回答 4查看 619.4K关注 0票数 277

我使用的是mysql数据库。我混淆了主键和唯一键。

请帮助我在哪里创建主键和唯一键。我的意思是在哪种情况下我们创建唯一键或主键。

EN

回答 4

Stack Overflow用户

发布于 2012-03-05 19:42:26

主键必须是唯一的。

唯一键不必是主键-请参阅candidate key

也就是说,表上可能有多个可以唯一标识行的列组合-只能选择其中一个作为主键。其他的虽然是唯一的,但都是候选关键字。

票数 27
EN

Stack Overflow用户

发布于 2012-03-05 19:44:39

主键具有标识数据库行的语义。因此,对于给定表,只能有一个主键,而可以有多个唯一键。

出于同样的原因,主键不能为NULL (至少在Oracle中,不能确定其他数据库)

因为它标识了该行,所以它永远不应该更改。更改主键必然会导致严重的痛苦,甚至可能是永远的诅咒。

因此,在大多数情况下,您需要一些人工id作为主键,它只用于标识表中的单个行。

另一方面,唯一的密钥可以根据您的需要进行更改。

票数 17
EN

Stack Overflow用户

发布于 2014-11-11 17:50:16

简单的主键是唯一的,不能为空,唯一的可以是空的,也不能是唯一的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9565996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档