サーチ…


備考

主キーは、テーブル内のレコードを一意に識別するために使用されます。表には1つの主キーのみがあります(主キーは複数の列で構成できます)。また、特定のタイプのレプリケーションには主キーが必要です。

主キーは、表のクラスタード・インデックスとして使用されることがよくあります(必ずしもそうである必要はありません)。

主キーとして表を作成する

 -- 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
 )

GUID主キー付きのテーブルを作成する

 -- 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
 )

ナチュラルキー付きのテーブルを作成する

 -- 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
 )

コンポジットキー付きのテーブルを作成する

 -- 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)
 )

既存のテーブルに主キーを追加する

ALTER TABLE person
 ADD CONSTRAINT pk_PersonSSN PRIMARY KEY (ssn)

プライマリキー列(この場合はssn )に同じ候補キーを持つ複数の行がある場合、プライマリキー値は一意でなければならないため、上記の文は失敗します。

主キーの削除

ALTER TABLE Person
 DROP CONSTRAINT pk_PersonSSN


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow