Când creați o tabelă în definiția sa, puteți specifica o constrângere PRIMARY KEY. Dacă tabela există deja, constrângerea PRIMARY KEY poate fi adăugată numai dacă nu este definită nicio restricție pentru tabel. O masă poate avea doar o constrângere PRIMARY KEY.
Dacă constrângerea PRIMARY KEY există deja, o puteți modifica sau o puteți șterge. De exemplu, poate fi necesar să cheii primare constrânse să se facă referire la alte coloane, sau au nevoie pentru a schimba ordinea coloana, numele index, opțiuni de grupare sau Factorul de umplere. Dar lungimea coloanei definite cu constrângerea PRIMARY KEY nu poate fi schimbată.
Pentru a modifica constrângerea PRIMARY KEY, trebuie mai întâi să eliminați constrângerea PRIMARY KEY existentă și apoi să creați o nouă constrângere PRIMARY KEY cu o altă definiție.
Dacă constrângerea PRIMARY KEY se adaugă la o coloană sau coloane dintr-un tabel existent, componenta bazei de date motorului verifică datele și metadatele de coloane pentru a verifica conformitatea acestora cu următoarele reguli.
Coloanele nu trebuie să permită valorile NULL.
Coloanele de restricție PRIMARY KEY specificate la crearea tabelului sunt convertite implicit în NOT NULL. O coloană restrânsă nu poate fi utilizată ca parte a cheii primare, deoarece coloanele rare trebuie să permită NULL-uri.
Nu ar trebui să aibă valori duplicate.
Dacă PRIMARY KEY constrângere se adaugă într-o coloană care conține valori duplicate sau permite o valoare NULL componentă Database Engine returnează o eroare și restricția nu este creat.
Constrângerea PRIMARY KEY nu poate fi adăugată la coloanele care încalcă regulile enumerate.
Motorul bazei de date creează automat un index unic pentru a asigura unicitatea constrângerii PRIMARY KEY. Dacă indexul cluster nu există pentru o tabelă și nu specifică în mod explicit un index nonclustered, atunci este creat un indice clustered unic pentru constrângerea PRIMARY KEY.
Constrângerea PRIMARY KEY nu poate fi eliminată în următoarele cazuri.
Dacă este menționată de constrângerea FOREIGN KEY din alt tabel. În primul rând, trebuie să fie eliminată constrângerea FOREIGN KEY.
Indicele XML primar este aplicat în tabel.
Crearea unei constrângeri PRIMARY KEY la crearea unei tabele
Crearea unei constrângeri PRIMARY KEY într-un tabel existent