SQL PRIMARY KEY制約
SQL PRIMARY KEY制約
PRIMARY KEY制約は一意にデータベーステーブル内の各レコードを識別する。
主キーは、一意の値が含まれている必要があります。
主キー列はNULL値を含めることはできません。
各テーブルには主キーを持っている必要があり、各テーブルには1つのプライマリキーを持つことができます。
SQL PRIMARY KEY制約はTABLE時のCREATE
「人」の表は、「P_ID」列にPRIMARY KEY制約を作成するために作成され、以下のSQL:
MySQLの:
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Serverの/ Oracleの/ MSアクセス:
(
P_Id 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アクセス:
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
注:上記の例では、1つのプライマリキーPRIMARY KEY(pk_PersonID)。しかし、値pk_PersonIDは、その2列(P_IDおよびLastName)で構成されています。
SQL PRIMARY KEY制約は、ALTER TABLEとき
テーブルが作成されている場合、「P_ID」でカラムのPRIMARY KEY制約を作成し、次のSQLを使用してください:
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
ADD PRIMARY KEY (P_Id)
PRIMARY KEY制約に名前を付け、複数の列にPRIMARY KEY制約を定義するには、次のSQL構文を使用します。
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
注:主キーを追加するには、ALTER TABLE文を使用する場合は、(最初のテーブルで作成)NULL値が含まれていない主キー列を宣言する必要があります。
PRIMARY KEY制約の失効
PRIMARY KEY制約を削除するには、次のSQLを使用します。
MySQLの:
DROP PRIMARY KEY
SQL Serverの/ Oracleの/ MSアクセス:
DROP CONSTRAINT pk_PersonID