#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)
в первом примере, но не во втором примере. Также важное отличие.