Вопрос

В MSSQL есть ли способ указать имя для ограничения PK, чтобы MSSQL не предоставлял случайно сгенерированное имя PK следующим образом:

PK__Addresse__3214EC074E88ABD4

Единственный способ, который я вижу сейчас, чтобы сделать это, - это сначала создать таблицу, а затем выполнить команду ALTER для переименования PK.Было бы проще, если бы я мог сделать это одним выстрелом.

Это было полезно?

Решение

ДА.Вот синтаксис, который генерирует SSMS:

CREATE TABLE [Address] (
    [ID] [int] IDENTITY(1,1) NOT NULL,
    << columns here >>,
    CONSTRAINT [PK_Address] 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]
GO

Другие советы

Во время создания таблицы

CREATE TABLE MyTable
(
   Id INT NOT NULL      
   CONSTRAINT PK_MyTable PRIMARY KEY (Id)   
)

Если вам нужно изменить таблицу и добавить основное ограничение

ALTER TABLE  MyTable
ADD CONSTRAINT PK_MyTable PRIMARY KEY (Id)

Надеюсь, это поможет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top