sql server中默认值约束是什么意思啊,是不是就是在创建表的时候在列下面设置默认值吗?

就是设置这个吗。。。?
2024-10-30 07:04:23
推荐回答(4个)
回答1:

是的,就是你在创建表的时候设置的字段默认值,设置默认值是为了若是以后你需要两列相加,但是若是其中一列的值为NULL,不论你怎么加,结果都是NULL,不能得出正确的结果值,必须得加判定条件,而设置默认值之后则可以解决这个问题,比如你要给T_BeautyUserInfo表的F_Rank加上默认值0,应该这样写(sql server 2008):ALTER TABLE [dbo].[T_BeautyUserInfo] ADD CONSTRAINT [defaultvalue1] DEFAULT ((0)) FOR [F_Rank]
GO。如果你建表的时候没有指定DEFAULT约束名,那么系统会自动命名,可以用以下语句获得该DEFAULT约束名:
select name from sys.default_constraints
where parent_object_id=object_id('表名')
and parent_column_id=columnproperty(object_id('表名'),'列名','property')(property的具体信息你可以查看columnproperty的函数说明)。希望可以帮助到你。

回答2:

sqlserver建表时设置字段初始默认值完整的示例
创建表时设置字段的默认值
create table 表(id int,name varchar(10) default '***',age int)
添加字段时设置字段的默认值
alter table 表 add sex char(2) default '*'
为表中现有的字段设置默认值
alter table 表 add constraint DF_age_表 default(20) for age
go
插入一条记录验证
insert 表(id) values(1)
select * from 表
go
删除测试
drop table 表
/*--测试结果
id name age sex.

回答3:

不是吧~好像是创建表的时候设置字段不能为NULL值, 但是在insert记录的时候插入了空值?
楼主自己试试看吧。

回答4:

对,就是这个。