簡體   English   中英

SQL Server - 'NOT NULL'主鍵上的約束冗余?

[英]SQL Server - 'NOT NULL' Constraint redundant on Primary Key?

在下面的SQL代碼是'NOT NULL'冗余,因為f_ID是主鍵,因此任何記錄都不能為null?

CREATE TABLE t_Activities(
    f_ID varchar(50) NOT NULL,
    PRIMARY KEY (f_ID))

如果稍后刪除主鍵約束怎么辦? 該列是否應該允許空值? 是的,不,也許吧? 這兩個約束是不同的。 PK約束需要 NOT NULL,但不暗示一個。

它可能是多余的,但我更喜歡這種創建primary key (或Identity列)的方法。 它表明制作表的人理解並打算將列作為NOT NULL以及表的Primary Key

那是正確的。 如果你有:

CREATE TABLE t_Activities( 
    f_ID varchar(50), 
    PRIMARY KEY (f_ID)) 

這將是等同的。 主鍵約束不允許NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM