Подтвердить что ты не робот

Как создать столбец "Нет дубликатов" в SQL Server 2008?

У меня есть простая таблица в моей базе данных SQL Server. Эта таблица содержит два столбца: ID int, Name nvarchar(50). Столбец ID является основным ключом для моей таблицы.

Я хочу, чтобы столбец "Name" был "(No Duplicates)", как в Microsoft Access, но этот столбец не является основным столбцом. Как я могу это сделать?

4b9b3361

Ответ 1

Добавьте уникальное ограничение для этого столбца:

ALTER TABLE Foo ADD CONSTRAINT UQ_Name UNIQUE (Name)

Чтобы добавить его через интерфейс SQL Management Studio:

  • Откройте SQL Server Management Studio.
  • Разверните папку "Таблицы" базы данных, в которой вы хотите создать ограничение.
  • Щелкните правой кнопкой мыши таблицу, в которую вы хотите добавить ограничение, и нажмите "Дизайн".
  • В конструкторе таблиц нажмите "Индексы/ключи".
  • Нажмите "Добавить".
  • Выберите "Уникальный ключ" в раскрывающемся списке "Тип".

Чтобы справиться с ситуацией, когда происходит нарушение уникального ограничения, см. ошибка 2601.

Ответ 2

Это также можно сделать другим способом с помощью GUI SSMS, если вы предпочитаете:

  • Щелкните правой кнопкой мыши "Индексы" под вашей таблицей в обозревателе решений SSMS и выберите "Новый индекс..." (я знаю, что вы хотите создать contstraint, а не индекс, но это именно то, что ADD CONSTRAINT SQL script делает.

введите описание изображения здесь

  1. Дайте новый индекс имени (например, "UQ_MyUniqueColumn" ), отметьте "Уникальный" и нажмите "Добавить..."

введите описание изображения здесь

  1. Проверьте свой столбец в следующем окне

введите описание изображения здесь

  1. Нажмите ОК в обоих окнах