首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中向主键字段添加NULL有什么意义?

问在MySQL中向主键字段添加NULL有什么意义?
EN

Stack Overflow用户
提问于 2010-08-17 13:47:20
回答 3查看 10.7K关注 0票数 15

将NOT NULL添加到主键字段有什么意义?主键已经不是null +唯一。

下面是一个示例:

代码语言:javascript
复制
CREATE TABLE student (
  id int(11) AUTO_INCREMENT NOT NULL,
  name varchar(255),
  PRIMARY KEY(id)
)

为什么不像这样定义它呢?

代码语言:javascript
复制
CREATE TABLE student (
  id int(11) AUTO_INCREMENT,
  name varchar(255),
  PRIMARY KEY(id)
)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-17 13:51:11

他们是一样的。主键自动获得NOT NULL。

票数 20
EN

Stack Overflow用户

发布于 2010-08-17 15:08:54

你是在问,为什么人们在不必要的情况下费心地添加NULL呢?只是因为它是好的风格,我想。让读者明白这一点。

票数 5
EN

Stack Overflow用户

发布于 2010-08-17 13:49:51

NULL不等同于NULL(因为NULL表示一个未知或缺失的值),因此将允许您拥有多个具有id的NULL的记录,即使定义了一个主键/唯一约束,因此可以使用NOT NULL。这是如果MySql甚至允许您在可空字段上定义主键的话。

此外,由于主键通常在其他表中的外键中使用,因此使用一个或多个NULL值是没有意义的。

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

https://stackoverflow.com/questions/3503089

复制
相关文章

相似问题

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