2011-12-09 12 views
10

Mam kolumnę (która reprezentuje e-mail) w bazie danych SQL Server o varchar(50) jako typ danych i chciałbym uczynić ją unikalną (nie zezwalaj na te same dwa e- adresy pocztowe). Nie mogę znaleźć sposobu na uniknięcie takiej kolumny w SQL Server Management Studio.Wykreśl kolumnę varchar (50) unikatową

Jak to zrobić?

Odpowiedz

21

W T-SQL byłoby

ALTER TABLE MyTable WITH CHECK 
    ADD CONSTRAINT UQ_MyTable_Email UNIQUE (EmailAddress) 

lub jako wyraźnej indeksu

CREATE UNIQUE INDEX IXU_Email ON MyTable (EmailAddress) 

Edit: Nie widzę jak stworzyć ograniczenia w GUI SSMS: inne odpowiedzi pokazują jak zarządzać indeksami. Ja używam tylko SQL chociaż nigdy GUI dla tego rodzaju pracy

+0

Kiedy tworzę indeks używając T-SQL, gdzie mogę znaleźć ten indeks w studio zarządzania SQL Server? – Tomas

+0

W eksploratorze obiektów znajdź swoją tabelę. F5, aby odświeżyć, zobaczysz to tam. – gbn

+0

Następnie rozwiń swój stół i zajrzyj do folderu o nazwie "Indeksy". – Aaron

5

W Object Explorer pod stołem prawym przyciskiem myszy w folderze Indexes i wybierz opcję New Index....

W wyświetlonym oknie wpisz Index name:, zaznacz pole wyboru Unique i dodaj pole e-mail z przycisku Add..., a następnie kliknij przycisk OK.

Powiązane problemy