我一直坚持为已创建的列定义默认值。
我创建了一个列,但没有在其中设置默认值,但后来我意识到我应该使用 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
Incorrect syntax for definition of the 'TABLE' constraint.
我使用的是 SQL Server 2008
谢谢
最佳答案
您需要使用这个:
ALTER TABLE dbo.Stock
ADD CONSTRAINT DF_Stock_Price DEFAULT(0) FOR Price
由于 Price
是 INT
列,因此您不能将 ''
定义为其默认值 - 它必须是一个有效的 INT
值!
关于sql-server - 如何在 SQL Server 中使用 alter 设置列的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025009/