0

我在 SQL 中有一个列,我需要添加一个额外的检查约束。目前该列设置为,

PropType Varchar(23) Check(PropType In('Potential Property','Vacant Property','Work-In-Progress-Property','Sold Property','Rental Property'))Not Null;

使用此更改语句,我试图将字符限制更改为 50,并添加一个额外的检查图“空置属性,正在进行中的属性”,

alter table property
alter column PropType Varchar(50) Check(PropType In('Potential Property','Vacant Property','Work-In-Progress-Property','Vacant Property,Work-In-Progress-Property','Sold Property','Rental Property'))Not Null;

我收到此错误,

消息 156,级别 15,状态 1,第 2 行关键字“检查”附近的语法不正确。

有谁知道为什么?这实际上与我用来制作表格的语句完全相同,只是它使用 50 个字符并有一个额外的校验图。我尝试在检查前使用“添加约束”,但我没有运气。

4

2 回答 2

1
alter table property alter column PropType Varchar(50) NOT NULL; 

alter table property add Check(PropType In('Potential Property','Vacant Property','Work-In-Progress-Property','Vacant Property,Work-In-Progress-Property','Sold Property','Rental Property'));
于 2013-11-08T17:39:36.327 回答
0

尝试修改:::

alter table property MODIFY column PropType Varchar(50) Check(PropType In('Potential Property','Vacant Property','Work-In-Progress-Property','Vacant Property,Work-In-Progress-Property','Sold Property','Rental Property'))Not Null;
于 2013-11-08T17:33:50.513 回答