PRIMARY KEY 制約は、データベース テーブル内の各レコードを一意に識別します。
主キーには一意の値が含まれている必要があります。
主キー列には NULL 値を含めることはできません。
各テーブルには主キーが 1 つある必要があり、各テーブルに主キーを 1 つだけ持つことができます。
次の SQL は、「Persons」テーブルの作成時に「Id_P」列に PRIMARY KEY 制約を作成します。
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) )
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 構文を使用します。
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) )
テーブルがすでに存在する場合に「Id_P」列に PRIMARY KEY 制約を作成する場合は、次の SQL を使用します。
ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
PRIMARY KEY 制約に名前を付け、複数の列に PRIMARY KEY 制約を定義する必要がある場合は、次の SQL 構文を使用します。
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
注: ALTER TABLE ステートメントを使用して主キーを追加する場合は、主キー列に NULL 値が含まれないように宣言する必要があります (テーブルが最初に作成されたとき)作成した)。
PRIMARY KEY 制約を取り消すには、次の SQL を使用します。
ALTER TABLE Persons DROP PRIMARY KEY
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID