У меня есть этот код (в MS SQL Server Management Studio 2017):
CREATE TABLE [dbo].[tblEStau](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Status] [nvarchar](20) NULL,
[ErrorCode] [int] NULL,
[LastUpdate] [datetime] NULL,
CONSTRAINT [PK_tblEStau] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
То, что они на самом деле хотели достичь, это ПЕРВИЧНЫЙ КЛЮЧ на поле Id (и только на Id).
Но что здесь происходит?Поскольку имена полей не указаны, что-то вроде этого:
CONSTRAINT [PK_tblEStau] PRIMARY KEY (Id) CLUSTERED
Будет ли по умолчанию все столбцы участвовать в этом ПЕРВИЧНОМ КЛЮЧЕ?
Итак, мой вопрос:
Имеет это:
CREATE TABLE [dbo].[tblEStau](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Status] [nvarchar](20) NULL,
[ErrorCode] [int] NULL,
[LastUpdate] [datetime] NULL,
CONSTRAINT [PK_tblEStau] PRIMARY KEY CLUSTERED
) ON [PRIMARY]
тот же эффект, что и этот фрагмент кода:
CREATE TABLE [dbo].[tblEStau](
[Id] [int] NOT NULL PRIMARY KEY,
[Status] [nvarchar](20) NULL,
[ErrorCode] [int] NULL,
[LastUpdate] [datetime] NULL
) ON [PRIMARY]
Спасибо уже за ваш полезный ответ!