jak utworzyć klucz złożony za pomocą programu SQL Server Management Studio?

163

jak utworzyć klucz złożony za pomocą programu SQL Server Management Studio?

Chcę, aby dwie kolumny INT tworzyły tożsamość (unikalną) dla tabeli

mrblah
źródło

Odpowiedzi:

356

wprowadź opis obrazu tutaj

  1. Otwórz zakładkę tabeli konfiguracji
  2. Podświetl swoje dwa pola INT (Ctrl / Shift + kliknij szare bloki w pierwszej kolumnie)
  3. Kliknij prawym przyciskiem myszy -> Ustaw klucz podstawowy
Cory
źródło
4
Aby zaznaczyć wiele pól, kliknij bloki przed kolumnami „nazwa kolumny” i „typ danych” i tym podobne. Ctrl / Shift + Kliknięcie pól nazw kolumn w rzeczywistości nic nie da.
Pimgd
3
Więc jeśli jeden jest łańcuchem, a drugi int, to nie jest możliwe? Nie wydaje się być ...
B. Clay Shannon
3
Głosowałbym w dół, ale potem zdałem sobie sprawę, że OP specjalnie zapytał, jak to zrobić w SSMS. Zawsze powinieneś skryptować zmiany w bazie danych + jeśli używasz takich narzędzi, nigdy nie nauczysz się, jak wprowadzić zmiany dla siebie
JonnyRaa
2
@JonnyLeeds to jest bardzo wysoki koń. Co jest nie tak z GUI, jeśli ludzie wolą to?
leinad13
4
@ leinad13 Musiałem mieć zły dzień! Ale głównym problemem jest to, że nie są one powtarzalne i generalnie oznacza to, że ludzie dokonują niekontrolowanych zmian ad hoc i poprawek, aby naprawić problemy z bazą danych / schematem. To bardzo zły znak - są nieudokumentowane (np. Przez zapisanie kodu do naprawy i wpisanie go do kontroli wersji i / lub posiadanie narzędzia, które automatycznie wprowadza odpowiednie zmiany do dowolnej wersji bazy danych) i jeśli masz więcej niż jedną instalacja to masz poważne kłopoty, gdy tylko bazy danych nie będą miały tego samego schematu
JonnyRaa
63

tutaj jest kod, aby to zrobić:

-- Sample Table
create table myTable 
(
    Column1 int not null,
    Column2 int not null
)
GO

-- Add Constraint
ALTER TABLE myTable
    ADD CONSTRAINT pk_myConstraint PRIMARY KEY (Column1,Column2)
GO

Dodałem ograniczenie jako osobną instrukcję, ponieważ zakładam, że twoja tabela została już utworzona.

Roatin Marth
źródło
Myślę, że ta odpowiedź pasuje, ponieważ możesz to uruchomić w oknie Query SSMS ...;)
dance2die
2
Skrypty FTW i jawne nazewnictwo! Definicje zewnętrzne ADD PRIMARY KEYi wewnętrzne PRIMARY KEYnadadzą losowe nazwy kluczom, co może sprawić, że bajingo należy do miejsca, w którym nie masz diagramu db + tabel.
Daevin,
35
create table my_table (
    id_part1 int not null,
    id_part2 int not null,
    primary key (id_part1, id_part2)
)
yfeldblum
źródło
14

W trybie projektowania (kliknij prawym przyciskiem tabelę wybierz modyfikuj) podświetl obie kolumny kliknij prawym przyciskiem i wybierz ustaw klucz podstawowy

Gratzy
źródło
7

Otwórz projektanta tabel w SQL Server Management Studio (kliknij prawym przyciskiem myszy tabelę i wybierz „Projekt”)

Przytrzymując klawisz Ctrl, podświetl dwie lub więcej kolumn na lewym marginesie tabeli

Naciśnij mały „Klucz” na standardowym pasku menu u góry

Jesteś skończony..

:-)

user4878037
źródło
5

Podświetl oba wiersze w widoku projektu tabeli i kliknij ikonę klucza, będą one teraz złożonym kluczem podstawowym.

Nie jestem pewien twojego pytania, ale tylko jedna kolumna na tabelę może być kolumną IDENTITY, a nie obie.

KM.
źródło
4
create table myTable 
(
    Column1 int not null,
    Column2 int not null
)
GO


ALTER TABLE myTable
    ADD  PRIMARY KEY (Column1,Column2)
GO
Tejas
źródło