2016-09-12 10 views
0

Я видел много примеров операторов CREATE TABLE, используемых для объявления первичных ключей с использованием NOT NULL, UNIQUE, IDENTITY, AUTO_INCREMENT и т. Д., Но я не знаете, каковы минимальные требования к настройке таблицы с автоинкрементным столбцом первичного ключа (типа int).Минимальные требования к автоматическому увеличению, уникальному, но не нулевому основному ключу SQL Server

Так что я думаю, что мой вопрос:

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

+0

Если вы не играете в гольф, предпочитаете ясность по поводу заключения, я имею в виду мое правило. Если вы не используете странную версию SQL Server, вы не несете дополнительные расходы на лицензирование, включив в свой SQL несколько дополнительных слов. –

+0

Я уверен, что вы не видели примера для SQL Server, используя 'auto_increment' –

ответ

0

Основной ключ уникален по определению. По умолчанию идентификатор равен NOT NULL. Таким образом, вы можете использовать следующий синтаксис:

CREATE TABLE T1 
(
    Id int identity PRIMARY KEY 
) 

Если вы хотите какое-то значимое имя, вместо PK__T1__3214EC0744F9FA13 автоматически назначаются выше, вы должны следовать этому синтаксису:

CREATE TABLE T2 
(
    Id int IDENTITY CONSTRAINT PK_Id PRIMARY KEY 
) 
0

Если Назначение столбца в качестве первичного что он сам сделает этот столбец уникальным, и он не позволит значения NULL в этом столбце.

Идентификационный номер. Идентификатор присваивает автоинкрементным номерам столбцу для каждой вставки в эту таблицу. Не обязательно, чтобы столбец идентификации был первичным ключом.

Не существует такого минимального требования для установки столбца идентификации в качестве первичного ключа. Обычно мы будем использовать столбец Identity, если другой столбец не однозначно идентифицирует конкретную запись в таблице. Также сортировка и индексирование будут более продуктивными, если столбец является целым типом.

В вашем случае вы можете просто добавить идентификатор столбца с int как тип данных, установить его как идентификатор и назначить первичный ключ этому столбцу.

CREATE TABLE [YourTable] 
    (
     [ID] [int] IDENTITY (1,1) 
      CONSTRAINT [PK_ID] PRIMARY KEY CLUSTERED ([ID] ASC) 
    ) ON [PRIMARY] 
    GO 

 Смежные вопросы

  • Нет связанных вопросов^_^