更改列检查错误

时间:2013-11-08 17:32:20

标签: mysql sql constraints alter

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

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

使用这个alter语句,我试图将字符数限制更改为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;

我收到此错误,

  

第15行,第1行,第2行       关键字“检查”附近的语法不正确。

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

2 个答案:

答案 0 :(得分: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'));

答案 1 :(得分: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;