MySQL のチェック制約の書き方

MySQLでは、制約はCREATE TABLEステートメント内で制約を使用してチェックできます。 以下に一般的な制約とその構文を示します。

  1. NOT NULL制約:列の値が空でないことを保証

例えば、CREATE TABLE テーブル名 (カラム名 データ型 NOT NULL)

  1. 一意制約: 列の値がそれぞれ異なることを保証

例えば:CREATE TABLE table_name (column_name datatype UNIQUE)

  1. プライマリーキー制約:列を主キーとして設定し、列の値が一意でNULLではないことを確保します。

CREATE TABLE テーブル名 (列名 データ型 PRIMARY KEY);

  1. 外部キー制約:2つのテーブル間に関連付けを作成し、外部キー値が主テーブルに存在することを確認する。

テーブル名1の作成例(カラム名 データ型、外部キー(カラム名)はテーブル名2(カラム名)を参照)

  1. チェック制約:指定列の値が特定条件を満たす必要がある。

CREATE TABLE table_name (column_name datatype check (column_name > 0));

MySQLではCHECK制約が認められてはいるものの、施行されないので、同様の機能の実現にはトリガーを利用する必要があります。

bannerAds