Поделиться через


Создание ограничений уникальности

Можно создать ограничение уникальности в SQL Server 2012 при помощи Среда SQL Server Management Studio или Transact-SQL, чтобы гарантировать, что в определенных столбцах, не участвующих в первичном ключе, не будут встречаться повторяющиеся значения. Создание ограничения уникальности автоматически приводит к созданию соответствующего уникального индекса.

В этом разделе

  • Перед началом работы выполните следующие действия.

    Безопасность

  • Создание ограничения уникальности с использованием:

    Среда SQL Server Management Studio

    Transact-SQL

Перед началом

Безопасность

Разрешения

Требуется разрешение ALTER на таблицу.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование среды SQL Server Management Studio

Создание ограничения уникальности

  1. В Обозревателе объектов щелкните правой кнопкой мыши таблицу, в которую необходимо добавить ограничение уникальности, и выберите Конструктор.

  2. В меню Конструктор таблиц выберите пункт Индексы и ключи.

  3. В диалоговом окне Индексы и ключи нажмите Добавить.

  4. В сетке в разделе Общее щелкните Тип и выберите Уникальный ключ в раскрывающемся списке справа от свойства.

  5. В меню Файл выберите пункт Сохранить table name.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование Transact-SQL

Создание ограничения уникальности

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На панели «Стандартная» выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создаются таблица TransactionHistoryArchive4 и ограничение уникальности в столбце TransactionID.

    USE AdventureWorks2012;
    GO
    CREATE TABLE Production.TransactionHistoryArchive4
     (
       TransactionID int NOT NULL, 
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID) 
    ); 
    GO
    

Создание ограничения уникальности в существующей таблице

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На панели «Стандартная» выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается ограничение уникальности в столбцах PasswordHash и PasswordSalt в таблице Person.Password.

    USE AdventureWorks2012; 
    GO
    ALTER TABLE Person.Password 
    ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); 
    GO
    

Создание ограничения уникальности в новой таблице

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На панели «Стандартная» выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается таблица и определяется ограничение уникальности в столбце TransactionID.

    USE AdventureWorks2012;
    GO
    CREATE TABLE Production.TransactionHistoryArchive2
    (
       TransactionID int NOT NULL,
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)
    );
    GO
    

    Дополнительные сведения см. в разделах ALTER TABLE (Transact-SQL), Инструкция CREATE TABLE (Transact-SQL) и table_constraint (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[Top]