在创建表时,是否必须明确提及主键不应为null?即使我们没有提到主键的'not null'约束,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)
)
答案 0 :(得分:3)
No你没有。
PRIMARY KEY是一个唯一索引,其中必须定义所有键列 作为NOT NULL。如果它们没有显式声明为NOT NULL,那么MySQL 如此隐含地(并且默默地)声明它们。一张桌子只能有一张 首要的关键。 PRIMARY KEY的名称始终是PRIMARY,因此 不能用作任何其他类型索引的名称。
然而,我认为明确说明它是一种好习惯 - 因为这会使事情更清楚, 每当你有疑问时,你都不必查看这条规则。
答案 1 :(得分:0)
问问自己,为什么你会不如果它有所作为,没有它就不那么清楚,但更清楚明确?在此之后,我认为没有理由省略它并且完全有效的理由在脚本中发出它。
最佳做法通常是最明智的做法。