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

Применимо к: SQL Server 2016 (13.x) и более поздних версий Управляемый экземпляр SQL Azure базы данных Azure SQL

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

Примечание

Сведения об уникальных ограничениях в Azure Synapse Analytics см. в разделе Первичный ключ, внешний ключ и уникальный ключ в Azure Synapse Analytics.

Permissions

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

Используйте SQL Server Management Studio.

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

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

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

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

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

  5. В меню "Файл" выберите "Сохранитьимя таблицы".

Использование 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  
    

Дальнейшие действия