l         NOT NULL 制約を表レベルで定義することはできない。

l         NOT NULL制約のみ、新しい表作成時にCOPYされる。

l         UNIQE制約とPRIMARY制約の両方を同時に定義できない。

l         PRIMARY制約は一つのCREATE TABLE で一つしか指定できない。

l         PRIMARY制約は複数の列に対して個別に定義できない。

l         データが既に登録されている表にあとからPRIMARY制約を定義する場合は、その列にNULLが含まれていない、かつ重複値がないことが条件

l         UNUSEDマークが指定されている列の名前の確認や、取り消しはできない。

l         表にデータを更新、追加、削除するたびに表の中のデータにルールを適用する。

l         FOREIGN KEY制約は、PRIMARY制約かUNIQE制約が設定されている列を参照するが、参照する列は外部キーを設定する表と同じ表の列でも異なる列の表でも可能。

l         FOREIGN KEY制約について、子表側に1件もデータ登録がされていない場合でも、外部キーを参照されている親表は削除できない。

l         FOREIGN KEY制約を定義した列の値は、親表内の値か、NULLである必要あり。

l         1つの列に2つの制約を同時に定義する場合、カンマで区切るとエラーになる。

l         DEFALTを指定する場合は、制約の前に指定する。(例:DEFALT NOT NULL

 

NULLの取り扱い>

NULLを許可する

NULLを許可しない

UNIQE制約

NOT NULL制約

FOREIGN KEY制約

PRIMARY制約

 

l         LONG型の列にUNIQE制約を指定できない。

l         LONG型は一つの表・列に一つだけ定義できる。(※未使用のLONG列を削除しない限り、その表には別のLONG列を追加できない)

 

LONG型で使えない句・制約>

l         GROUP BY

l         ORDERD BY

l         WHERE

l         UNIQE制約

 

<索引>

索引が自動作成される

自動で作成されない

UNIQE制約

NOT NULL制約

PRIMARY制約

FOREIGN KEY制約