我想修改表中一个字段的默认值,但是报错
各位老大,下面的sql报错,请帮忙看看那里有问题呀
ALTER TABLE PA_PART_LIST alter column USEFLAG varchar(1) not NULL default ('1')
11 个解决方案
#1
ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL
#2
ALTER TABLE 表名 add DEFAULT ('修改后的默认值') for 字段名 WITH VALUES
注:如果该字段以前已经有默认值了,在修改之前需要先将约束删除,否则会报错
删约束的SQL:
Alter table 表名 drop constraint 约束名
关于约束名,需要先查一下,
查约束名的SQL:
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名')
and b.name='字段名'
#3
删除约束,再alter column
#4
ALTER TABLE PA_PART_LIST alter column USEFLAG varchar(1) not NULL
ALTER TABLE tb ADD CONSTRAINT DF_Students_Age DEFAULT ('1') FOR USEFLAG
#5
同意.
#6
以前有默认的,要删除默认
#7
E
#8
3楼 吧,先删,后再加
#9
I agree second floor.
#10
asp.net怎么向数据库中添加数据库为默认值的字段呢?
#11
#1
ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL
#2
ALTER TABLE 表名 add DEFAULT ('修改后的默认值') for 字段名 WITH VALUES
注:如果该字段以前已经有默认值了,在修改之前需要先将约束删除,否则会报错
删约束的SQL:
Alter table 表名 drop constraint 约束名
关于约束名,需要先查一下,
查约束名的SQL:
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名')
and b.name='字段名'
#3
删除约束,再alter column
#4
ALTER TABLE PA_PART_LIST alter column USEFLAG varchar(1) not NULL
ALTER TABLE tb ADD CONSTRAINT DF_Students_Age DEFAULT ('1') FOR USEFLAG
#5
同意.
#6
以前有默认的,要删除默认
#7
E
#8
3楼 吧,先删,后再加
#9
I agree second floor.
#10
asp.net怎么向数据库中添加数据库为默认值的字段呢?