SQL CHECK 關鍵字
CHECK
CHECK
約束限制可以放置在列中的值。
CREATE TABLE 上的 SQL CHECK
以下 SQL 在建立“Persons”表時,在“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')
);
ALTER TABLE 上的 SQL CHECK
要在表已建立時為“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');
DROP a CHECK Constraint (刪除 CHECK 約束)
To drop a CHECK constraint, use the following SQL (要刪除 CHECK 約束,請使用以下 SQL 語句)
SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;