Как правильно создать столбец первичного ключа в MS SQL Server

#sql-server #primary-key

#sql-server #первичный ключ

Вопрос:

Как следует из названия, у меня есть:

 CREATE TABLE Status
(
    StatusId INT IDENTITY(1,1) NOT NULL,
    StatusName VARCHAR(50) NOT NULL,
    DateCreated DATETIME NOT NULL 
        CONSTRAINT DF_Status_DateCreated DEFAULT (GETDATE()),

    CONSTRAINT PK_Status 
        PRIMARY KEY CLUSTERED (StatusId)
)
  

и

 CREATE TABLE status 
( 
     statusid INT NOT NULL PRIMARY KEY, 
     statusname VARCHAR(50) NOT NULL, 
     datecreated DATETIME NOT NULL 
         CONSTRAINT df_status_datecreated DEFAULT (GETDATE()) 
)
  

Первый пример такой же, как и последний? В чем различия?

Я понимаю, что в первом примере указано, что столбец StatusId является идентификатором и что значение первой записи будет равно 1, и что значение для каждой последующей записи будет увеличиваться на 1

Но помимо этого есть ли какие-либо другие различия?

Комментарии:

1. Разница в том, что вы можете либо присвоить своему ограничению имя, либо присвоить ему автоматическое имя. Я предпочитаю называть их, чтобы их было легко найти и идентифицировать позже.

2. @SeanLange Я вижу, спасибо за ваше время

3. Обратите внимание, что у вас также есть IDENTITY(1,1) в первом примере, но не во втором примере. Также важное отличие.