为什么建表时指定主键不为空?

Ziy*_*ang 0 sql sql-server create-table

sql server中的一段sql

CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Run Code Online (Sandbox Code Playgroud)

主键本质上不为空,为什么我们这里仍然指定不为空?我错过了什么吗?

pau*_*sm4 5

是的,根据定义,“主键”是“不为空”。

问:您是否反对多输入八个字符?

问:您是否尝试过省略“not null”?会发生什么?