首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL。相同字段的唯一和主要的关键约束

问MySQL。相同字段的唯一和主要的关键约束
EN

Stack Overflow用户
提问于 2016-11-23 13:56:41
回答 4查看 2.8K关注 0票数 3

我发现了一些遗留代码,它为主键字段设置了两个几乎相同的约束(UNIQUE和PRIMARY KEY)。

下面是代码示例:

代码语言:javascript
复制
CREATE TABLE foofoo (
  id NUMERIC(9) NOT NULL ,
  bar VARCHAR(40) NOT NULL,

  CONSTRAINT PK_foofoo PRIMARY KEY (id),
  CONSTRAINT UNIQUE_foofoo UNIQUE(id)
)

我认为这两组是多余的,而PRIMARY KEY将完成这项工作。

当然,我读到了这两个约束之间的区别,但是

为同一个字段设置这两个约束的意义是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-11-23 14:02:27

这样做是没有意义的。主键在本质上总是独一无二的。我建议不要建立这两个索引,因为索引需要花费(主要是磁盘空间)。只要创建PK,你就会很棒!

票数 3
EN

Stack Overflow用户

发布于 2016-11-23 13:59:21

设置与PK完全相同的约束是没有意义的。

主键已确保此列是唯一的和索引的。

票数 2
EN

Stack Overflow用户

发布于 2016-11-23 14:06:02

我觉得这是多余的..。

是的,它确实是多余的;因为在列上有主键约束将确保列只有唯一的值。在同一列上定义额外的UNIQUE约束是没有意义的。

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

https://stackoverflow.com/questions/40766413

复制
相关文章

相似问题

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