首页博客网络编程
需要此约束才能限制列中可能存在的值范围。
在定义对单个列的约束时,它只允许对该列使用特定值。
在定义表的约束时,它将通过基于同一行中不同列的值来限制特定列的值。
下面的代码示例在“Person”表的“P_Ids”列中生成约束 CHECK。约束定义列只能有大于 0 的整数。
MySQL的:
例复制
CREATE TABLE Person ( P_Ids int NOT NULL, LName varchar(255) NOT NULL, FName varchar(255), AddressID varchar(255), CityID varchar(255),CHECK (P_Ids>0) )
MS Access/SQL Server/甲骨文:
例复制
CREATE TABLE Person ( P_Ids int NOT NULL CHECK (P_Ids>), LName varchar(255) NOT NULL, FName varchar(255), AddressID varchar(255), CityID varchar(255) )
为了能够将约束命名为 CHECK,并在各种列上定义它,下面的示例显示了语法:
MS Access / SQL Server / Oracle / MySQL:
例复制
CREATE TABLE Person ( P_Ids int NOT NULL, LName varchar(255) NOT NULL, FName varchar(255), AddressID varchar(255), CityID varchar(255),CONSTRAINT ck_Person CHECK (P_Ids>0 AND CityID='paris') )
在生成表后创建约束 CHECK 时:
MS Access / SQL Server / Oracle / MySQL:
例复制
ALTER TABLE PersonADD CHECK (P_Ids>0)
为了能够将约束命名为 CHECK,并在各种列上定义它,下面的示例显示了语法:
MS Access / SQL Server / MySQL / Oracle:
例复制
ALTER TABLE PersonADD CONSTRAINT ck_Person CHECK (P_Ids>0 AND CityID='Paris')
下面的代码示例演示如何删除约束 CHECK:
SQL Server/MS Access/Oracle:
例复制
ALTER TABLE PersonDROP CONSTRAINT ck_Person
MySQL的:
例复制
ALTER TABLE PersonDROP CHECK CK_PersonsAge;
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位