在创建表时,我们是否必须明确提到主键不应该为null?即使我们没有提到主键的'not null‘约束,SQL也不允许我们在主键字段中插入空值。因此,以下哪一项是一个好的实践?
1) create table registration(
id int primary key,
name varchar(10)
)
2) create table registration(
id int primary key not null,
name varchar(10)
)发布于 2013-05-10 19:18:45
No你不需要。
主键是唯一索引,其中所有键列都必须定义为NOT NULL。如果它们没有显式声明为not NULL,MySQL就会隐式地(默默地)声明它们。一个表只能有一个主键。主键的名称始终是主关键字,因此不能用作任何其他类型的索引的名称。
然而,我认为明确地声明它是一种很好的做法-因为这会让事情变得更清楚,而且你不必每次有疑问的时候都去查这条规则。
发布于 2013-05-10 19:19:12
问问你自己,为了它,你为什么不去做一些事情,如果没有它,你不一定不清楚,但更明确?接下来,我认为没有理由省略它,而是在脚本中发出它的完全合理的理由。
最佳实践通常是最明智的实践。
https://stackoverflow.com/questions/16481037
复制相似问题