Microsoft SQL Server
Primärschlüssel
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