如何在SQL Server中使用alter设置列的默认值?

时间:2014-09-24 19:32:49

标签: sql-server sql-server-2008

我坚持为已创建的列定义默认值。

我创建了一个列并没有在其中设置默认值但后来我意识到我应该使用alter设置默认值。所以我尝试了但是在每个地方搜索失败但没有找到解决方案。

这是代码

create table stock
( 
    item_name varchar(200),
    item_code varchar(50),
    Price int,
    availabilty varchar(20),

    constraint i_n unique(item_name),
    constraint i_c primary key(item_code)
)

现在使用insert into向其添加一些数据后,我无法在价格列中添加默认约束。

请帮助我,了解如何使用alter

在价格列中添加默认约束

如果我添加像这样的约束

alter table stock
add constraint ID default '' (price)

ssms将其检测为错误并说

  

Msg 142,Level 15,State 2,Line 0
  用于定义'TABLE'约束的语法不正确。

我正在使用SQL Server 2008

谢谢

1 个答案:

答案 0 :(得分:3)

你需要使用它:

ALTER TABLE dbo.Stock
ADD CONSTRAINT DF_Stock_Price DEFAULT(0) FOR Price

由于PriceINT列,因此无法''定义为默认值 - 它必须是有效的INT值!