今回はMySQLだけの話ではないですが、制約についてです。
■制約とは?
ある条件を課して、自由にはさせないこと。その物事のために必要な条件のことです。
MySQLでは、以下の3つがあります。
① キー制約
② Null/NotNull制約
③ デフォルト値制約
詳細は後述致します。
■① キー制約
PrimaryKey(主キー)/ForeignKey(外部キー)の制約のことです。
■PrimaryKeyの制約
PrimaryKeyに設定された列は、その列内において重複データは登録できません。
■PrimaryKeyの機能
PrimaryKeyに設定した列には自動的にインデックス(索引)が作成されます。
そのため、PrimaryKeyに設定された列のデータ検索をより早く行うことができます。
■ForeignKeyの制約
ForeignKeyに設定された列は、他の列に登録されているデータ以外は登録できません。
■ForeignKeyの機能
ForeignKeyに設定された列のデータは、必ず指定した他の列のデータと同じになります。
■② Null/NotNull制約
列内のデータの空データを許容するか(=Null)、許容しないか(=NotNull)の制約です。
デフォルトでは、指定しない限りはNullが選択されます。
■① デフォルト値制約
データを入力する際に何も値を指定しなかった場合に、デフォルトで格納される値を定義することができます。
以上です。