Mysql 我们是否必须明确提到主键的NOTNULL约束?

Mysql 我们是否必须明确提到主键的NOTNULL约束?,mysql,sql,primary-key,Mysql,Sql,Primary Key,在创建表时,是否必须明确指出主键不应为null?即使我们没有提到主键的“notnull”约束,SQL也不允许我们在主键字段中插入null值。因此,以下哪项是良好的做法 1) create table registration( id int primary key, name varchar(10) ) 2) create table registration( id int primary key not null,

在创建表时,是否必须明确指出主键不应为null?即使我们没有提到主键的“notnull”约束,SQL也不允许我们在主键字段中插入null值。因此,以下哪项是良好的做法

1)    create table registration(
        id int primary key,
        name varchar(10)

    )

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

    )
你没有

主键是唯一的索引,其中必须定义所有键列 不为空。如果它们没有显式声明为NOTNULL,MySQL 隐式地(无声地)声明它们。一张桌子只能有一张桌子 主键。主键的名称始终是PRIMARY,因此 不能用作任何其他类型索引的名称

然而,我认为把它明确地表述出来是一个好的做法,因为这使事情更清楚,
你不必每次有疑问时都去查阅这条规则。

问问自己,为了它,如果它让某些东西变得更清晰,而不是没有它就不那么清晰,那么你为什么不呢?接下来,我认为没有理由省略它,也没有理由在脚本中发出它


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

好的实践应该明确地声明
不为空。这并不是一个太大的改变,通常SQL Studio会为您这样做。请遵循此处的指导原则,以获得一个好的示例。无形的影响。。。。