English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
CHECK制約は、一つの列に格納できる値を制限します。
「Persons」テーブルを作成する際に、以下のSQLは「Age」列にCHECK制約を作成します。CHECK制約は、あなたが持つことができないことを確実にします:18歳以下的すべての人:
MySQL:
CREATE TABLE Persons
(
Age int,
CHECK (Age>=18)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
Age int CHECK (Age>=18)
);
CHECK制約を名前付けし、複数の列でCHECK制約を定義するには、以下のSQL文法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
「Age」テーブルが既に作成された後に列にCHECK制約を作成するには、以下のSQLを使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Age>=18);
CHECK制約を名前付けし、複数の列でCHECK制約を定義するには、以下のSQL文法を使用してください:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
CHECK制約を削除するには、以下のSQLを使用してください:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;