【问题标题】:Why specify primary key not null when creating a table?为什么创建表时指定主键不为空?
【发布时间】:2012-05-16 00:06:56
【问题描述】:

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)
)

主键本质上是不为空的,为什么我们这里还要指定不为空呢?我错过了什么吗?

【问题讨论】:

标签: sql sql-server create-table


【解决方案1】:

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

问:你反对多输入八个字符吗?

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

【讨论】:

    【解决方案2】:

    你不必使用它,它是多余的......

    【讨论】:

      【解决方案3】:

      因为Primary key 不会包含NULL 值。此键是记录的标识符。

      【讨论】:

        【解决方案4】:

        因为它是从自动生成的脚本复制粘贴,而 Not Null 来自列设置,主键来自约束定义?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-03-25
          • 2019-07-10
          • 1970-01-01
          • 2019-06-20
          • 2020-07-20
          • 1970-01-01
          • 2012-06-19
          • 1970-01-01
          相关资源
          最近更新 更多