SQL Tips

 

[SQL Server] 既存のテーブルにPrimary Key(PK)を設定する方法

MS-SQL / SQL Server
既存のテーブルにPrimary Key(PK)を設定する方法

既にdbo.TempDataというテーブルが作成されているとしましょう。

CREATE TABLE dbo.TempData
(
Sn int not null
, GroupID int not null
, Data1 varchar(100) not null
)

ここにPrimary Key(PK)を設定するにはどうすればいいのか?
今回はSQLでPrimary Key(PK)を設定する方法について説明します。

「Sn」列にPrimary Key(PK)を設定したい場合、
一番いい方法は最初からテーブルを作成する時に設定した方がいいです。
テーブル作成し主キー(プライマリキー)・Primary Key(PK)を作成する方法は下記の通りです。

CREATE TABLE dbo.TempData
(
Sn int not null
, GroupID int not null
, Data1 varchar(100) not null
, CONSTRAINT [PK_TempData] PRIMARY KEY CLUSTERED 
(
[Sn] ASC
)
)

でも、既存テーブルにPrimary Key(PK)を作成する時があります。
その時SQLを利用して作成する方法は下記の通りです。

ALTER TABLE dbo.TempData
ADD CONSTRAINT [PK_TempData] PRIMARY KEY CLUSTERED
(
[Sn] ASC
)

ここで、Primary Key(PK)を一つ以上の2つを設定する場合、
その列が「Sn」、「GroupID」場合は下記の通りに作成します。

ALTER TABLE dbo.TempData
ADD CONSTRAINT [PK_TempData] PRIMARY KEY CLUSTERED
(
[Sn] ASC
,[GroupID] ASC
)

ここで、重要なのはPrimary Key(PK)を設定しようとする列に重複するデータが存在しては行けないところです。
注意してください。
このエントリーをはてなブックマークに追加
2014-08-20 16:41:17   2014

コメント

[SQL Server] 順位付け関数「RANK」、「DENSE_RANK」について

-.日付:2014-10-15   カテゴリ : -   閲覧数:2155

[SQL Server] DISTINCT - 重複行を除外してデータの取得方法

-.日付:2014-10-03   カテゴリ : -   閲覧数:2869

[SQL Server] DATETIME データ型のミリ秒に関する注意事項

-.日付:2014-10-01   カテゴリ : -   閲覧数:3020

[SQL Server] RAND(ランダム)関数で乱数を取得する方法

-.日付:2014-09-24   カテゴリ : -   閲覧数:11389

[SQL Server] 順位付け関数「ROW_NUMBER」について

-.日付:2014-09-17   カテゴリ : -   閲覧数:2532

[SQL Server] LIKEで「_」、「%」が入った文字を検索する方法

-.日付:2014-09-17   カテゴリ : -   閲覧数:3839

[SQL Server] SQL Server CPU 使用率が高いクエリを検索する方法

-.日付:2014-09-12   カテゴリ : -   閲覧数:6886

[SQL Server] 既存のテーブルにPrimary Key(PK)を設定する方法

-.日付:2014-08-20   カテゴリ : -   閲覧数:2014

[SQL Server] テーブルの一覧を取得する方法 - Table List

-.日付:2014-08-14   カテゴリ : -   閲覧数:2228

Copyright © 2015 INNOYA.COM All rights reserved. RSS