Suche…


Bemerkungen

Primärschlüssel werden verwendet, um einen Datensatz in einer Tabelle eindeutig zu identifizieren. Eine Tabelle darf nur einen einzigen Primärschlüssel haben (obwohl der Primärschlüssel aus mehreren Spalten bestehen kann), und für bestimmte Replikationstypen ist ein Primärschlüssel erforderlich.

Primärschlüssel werden häufig als Clustered-Index für eine Tabelle verwendet (müssen aber nicht sein).

Erstellen Sie eine Tabelle mit Identität als Primärschlüssel

 -- Identity primary key - unique arbitrary increment number
 create table person (
 id int identity(1,1) primary key not null,
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) not null
 )

Erstellen Sie eine Tabelle mit dem GUID-Primärschlüssel

 -- GUID primary key - arbitrary unique value for table
 create table person (
 id uniqueIdentifier default (newId()) primary key,
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) not null
 )

Erstellen Sie eine Tabelle mit natürlichem Schlüssel

 -- natural primary key - using an existing piece of data within the table that uniquely identifies the record
 create table person (
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) primary key not null
 )

Erstellen Sie eine Tabelle mit zusammengesetztem Schlüssel

 -- composite key - using two or more existing columns within a table to create a primary key
 create table person (
 firstName varchar(100) not null,
 lastName varchar(100) not null,
 dob DateTime not null,
 ssn varchar(9) not null,
 primary key (firstName, lastName, dob)
 )

Fügen Sie der vorhandenen Tabelle einen Primärschlüssel hinzu

ALTER TABLE person
 ADD CONSTRAINT pk_PersonSSN PRIMARY KEY (ssn)

Wenn die Primärschlüsselspalte (in diesem Fall ssn ) mehr als eine Zeile mit demselben Kandidatenschlüssel enthält, ssn die obige Anweisung fehl, da Primärschlüsselwerte eindeutig sein müssen.

Primärschlüssel löschen

ALTER TABLE Person
 DROP CONSTRAINT pk_PersonSSN


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow