SQL PRIMARY KEY 制約
SQL PRIMARY KEY 制約
PRIMARY KEY制約は、データベーステーブル内の各レコードを一意に識別します。
主キーはユニークな値を含む必要があります。
主キーカラムにはNULL値を含むことができません。
各テーブルには主キーがあり、各テーブルには1つの主キーのみがあります。
CREATE TABLEでのPRIMARY KEY制約
以下のSQLは、"Persons"テーブルが作成される際に"Id_P"カラムにPRIMARY KEY制約を作成するためのものです:
MySQL:
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (Id_P) )
SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( Id_P int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
PRIMARY KEY 约束に名前を付けたり、複数の列に対して PRIMARY KEY 约束を定義する必要がある場合は、以下の SQL 文法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName) )
ALTER TABLE 上の SQL PRIMARY KEY 约束
既存のテーブルに対して "Id_P" クラムに PRIMARY KEY 约束を作成する場合、以下の SQL を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
PRIMARY KEY 约束に名前を付けたり、複数の列に対して PRIMARY KEY 约束を定義する必要がある場合は、以下の SQL 文法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
注記:ALTER TABLE ステートメントを使用して主キーを追加する場合、主キークラムを NULL 値を含まない(テーブルが初めて作成された時点で)として宣言する必要があります。
PRIMARY KEY 约束を取り消す
PRIMARY KEY 约束を取り消すには、以下の SQL を使用してください:
MySQL:
ALTER TABLE Persons DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID