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制約 |
コメント