Как создать уникальное ограничение для существующей таблицы в SQL Server 2005?
Я ищу и TSQL, и как это сделать в диаграмме базы данных.
Как создать уникальное ограничение для существующей таблицы в SQL Server 2005?
Я ищу и TSQL, и как это сделать в диаграмме базы данных.
Команда SQL:
ALTER TABLE <tablename> ADD CONSTRAINT
<constraintname> UNIQUE NONCLUSTERED
(
<columnname>
)
Смотрите полный синтаксис здесь.
Если вы хотите сделать это на основе диаграммы базы данных:
В SQL Server Management Studio Express:
ALTER TABLE [TableName] ADD CONSTRAINT [constraintName] UNIQUE ([columns])
Предупреждение. Только одна нулевая строка может быть в столбце, который вы установили как уникальное.
Вы можете сделать это с помощью отфильтрованного индекса в SQL 2008:
CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;
См. Значение поля должно быть уникальным, если оно не равно NULL для ответа.
ALTER TABLE dbo.<tablename> ADD CONSTRAINT
<namingconventionconstraint> UNIQUE NONCLUSTERED
(
<columnname>
) ON [PRIMARY]
Я также нашел, что вы можете сделать это через диаграммы базы данных.
Щелкнув правой кнопкой мыши по таблице и выбрав "Индексы/клавиши"...
Нажмите кнопку "Добавить" и измените столбцы на столбцы, которые вы хотите сделать уникальными.
Изменение уникально для Да.
Нажмите "Закрыть" и сохраните диаграмму, и она добавит ее в таблицу.
Вы ищете что-то вроде следующего
ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
UNIQUE column_b
В диаграмме студии управления выберите таблицу, щелкните правой кнопкой мыши, чтобы добавить новый столбец, если хотите, щелкните правой кнопкой мыши по столбцу и выберите "Проверить ограничения", там вы можете добавить его.
Чтобы создать ограничение 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.