这个CHECK
约束用于限制可以放置在列中的值范围。
如果你定义一个CHECK
列的约束将仅允许此列的某些值。
如果你定义一个CHECK
在表上的约束它可以根据行中其他列中的值限制某些列中的值。
以下 SQL 创建一个CHECK
创建#{1}#表时#{0}#列的约束。这CHECK
约束确保一个人的年龄必须年满18岁或以上:
MySQL:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
SQL Server / Oracle / MS 访问:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age>=18)
);
允许命名CHECK
约束,并定义一个 CHECK
对多列进行约束,使用以下 SQL 语法:
MySQL / SQL Server / Oracle / MS 访问:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
创建一个CHECK
当表已创建时,对 "Age" 列进行约束,请使用以下 SQL:
MySQL / SQL Server / Oracle / MS 访问:
ALTER TABLE Persons
ADD CHECK (Age>=18);
允许命名CHECK
约束,并定义一个 CHECK
对多列进行约束,使用以下 SQL 语法:
MySQL / SQL Server / Oracle / MS 访问:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
删除一个CHECK
约束,使用以下 SQL:
SQL Server / Oracle / MS 访问:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!