SQL Server 2005 Как создать уникальное ограничение?

Как создать уникальное ограничение для существующей таблицы в SQL Server 2005?

Я ищу и TSQL, и как это сделать в диаграмме базы данных.

Ответ 1

Команда SQL:

ALTER TABLE <tablename> ADD CONSTRAINT
            <constraintname> UNIQUE NONCLUSTERED
    (
                <columnname>
    )

Смотрите полный синтаксис здесь.

Если вы хотите сделать это на основе диаграммы базы данных:

  • щелкните правой кнопкой мыши по таблице и выберите "Индексы/клавиши"
  • нажмите кнопку "Добавить", чтобы добавить новый индекс
  • введите необходимую информацию в свойствах с правой стороны:
    • нужные столбцы (нажмите кнопку с многоточием, чтобы выбрать)
    • набор уникален для да
    • присвоить ему соответствующее имя

Ответ 2

В SQL Server Management Studio Express:

  • Щелкните правой кнопкой мыши таблицу, выберите Изменить или Дизайн (для более поздних версий)
  • Щелкните правой кнопкой мыши поле, выберите Индексы/Ключи...
  • Нажмите Добавить
  • Для столбцов выберите имя поля, которое вы хотите быть уникальным.
  • Для Тип выберите Уникальный ключ.
  • Нажмите Закрыть, Сохранить таблицу.

Ответ 3

ALTER TABLE [TableName] ADD CONSTRAINT  [constraintName] UNIQUE ([columns])

Ответ 4

Предупреждение. Только одна нулевая строка может быть в столбце, который вы установили как уникальное.

Вы можете сделать это с помощью отфильтрованного индекса в SQL 2008:

CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;

См. Значение поля должно быть уникальным, если оно не равно NULL для ответа.

Ответ 5

ALTER TABLE dbo.<tablename> ADD CONSTRAINT
            <namingconventionconstraint> UNIQUE NONCLUSTERED
    (
                <columnname>
    ) ON [PRIMARY]

Ответ 6

Я также нашел, что вы можете сделать это через диаграммы базы данных.

Щелкнув правой кнопкой мыши по таблице и выбрав "Индексы/клавиши"...

Нажмите кнопку "Добавить" и измените столбцы на столбцы, которые вы хотите сделать уникальными.

Изменение уникально для Да.

Нажмите "Закрыть" и сохраните диаграмму, и она добавит ее в таблицу.

Ответ 7

Вы ищете что-то вроде следующего

ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
UNIQUE column_b

Документы MSDN

Ответ 8

В диаграмме студии управления выберите таблицу, щелкните правой кнопкой мыши, чтобы добавить новый столбец, если хотите, щелкните правой кнопкой мыши по столбцу и выберите "Проверить ограничения", там вы можете добавить его.

Ответ 9

Чтобы создать ограничение UNIQUE для одного или нескольких столбцов, когда таблица уже создана, используйте следующий SQL:

ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

Чтобы разрешить именовать ограничение UNIQUE для указанного выше запроса

ALTER TABLE TableName ADD CONSTRAINT un_constaint_name UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

Запрос, поддерживаемый MySQL/SQL Server/Oracle/MS Access.