首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们必须显式地提到主键的not null约束吗?

我们必须显式地提到主键的not null约束吗?
EN

Stack Overflow用户
提问于 2013-05-10 19:16:05
回答 2查看 579关注 0票数 1

在创建表时,我们是否必须明确提到主键不应该为null?即使我们没有提到主键的'not null‘约束,SQL也不允许我们在主键字段中插入空值。因此,以下哪一项是一个好的实践?

代码语言:javascript
复制
1)    create table registration(
        id int primary key,
        name varchar(10)

    )

2)     create table registration(
        id int primary key not null,
        name varchar(10)

    )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-10 19:18:45

No你不需要。

主键是唯一索引,其中所有键列都必须定义为NOT NULL。如果它们没有显式声明为not NULL,MySQL就会隐式地(默默地)声明它们。一个表只能有一个主键。主键的名称始终是主关键字,因此不能用作任何其他类型的索引的名称。

然而,我认为明确地声明它是一种很好的做法-因为这会让事情变得更清楚,而且你不必每次有疑问的时候都去查这条规则。

票数 3
EN

Stack Overflow用户

发布于 2013-05-10 19:19:12

问问你自己,为了它,你为什么不去做一些事情,如果没有它,你不一定不清楚,但更明确?接下来,我认为没有理由省略它,而是在脚本中发出它的完全合理的理由。

最佳实践通常是最明智的实践。

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

https://stackoverflow.com/questions/16481037

复制
相关文章

相似问题

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