MySQL - 主键需要"NOT NULL"约束吗?

Ben*_*ley 12 mysql sql database database-design

是否有必要为MySQL数据库中的主键声明"NOT NULL"约束?主键不能具有NULL值,因为它无论如何都会自动增量并自动填充字段记录.所以我说这是正确的意思是我可以删除主键的"NOT NULL"约束吗?

T.J*_*der 13

(正如您标记了您的问题mysql.)在MySQL中,您不必明确地执行此操作.从手册:

A PRIMARY KEY是唯一索引,其中必须将所有键列定义为NOT NULL.如果没有明确NOT NULL声明它们,MySQL就会隐式声明(并且默默地).

当然,仅仅因为你没有必要并不意味着你可能不想要清晰,等等.

  • 它不仅将PK列声明为"NOT NULL",而且如果它们被声明为"NULL",它会将它们重写/修改为"NOT NULL". (2认同)