ALTER TABLE [dbo].[Employee] ALTER COLUMN cID char(10) SET Default '22' NOT NULL
出错信息为:
服务器: 消息 156,级别 15,状态 1,行 1
Incorrect syntax near the keyword 'Default'.
请问是什么原因。怎么样才能修改表字段的默认值
11 个解决方案
#1
如果已经存在默认值约束,需要先删除这个默认值约束,然后再添加默认值约束。
#2
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
#3
ALTER TABLE [dbo].[Employee] ALTER COLUMN cID SET DEFAULT '22'
#4
怎么删除呢。
#5
--如果知道默认值的约束名,按如下:
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
#6
删除原来的默认值约束,在修改时还是有错。
#7
删除后,就需要添加,如:
ALTER TABLE [dbo].[Employee] add constraint 约束名 Default ('22') for cID
ALTER TABLE [dbo].[Employee] add constraint 约束名 Default ('22') for cID
#8
alter table TC_Employee
drop df_Name
alter table TableName
add constraint df_name default(1) for clomnName
drop df_Name
alter table TableName
add constraint df_name default(1) for clomnName
#9
学习了
#10
--如果知道默认值的约束名,按如下:
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
--删除后,就需要添加,如:
exec ('ALTER TABLE [dbo].[Employee] add constraint ' + @csname + ' Default (''22'') for cID')
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
--删除后,就需要添加,如:
exec ('ALTER TABLE [dbo].[Employee] add constraint ' + @csname + ' Default (''22'') for cID')
#11
学习了。
#1
如果已经存在默认值约束,需要先删除这个默认值约束,然后再添加默认值约束。
#2
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
#3
ALTER TABLE [dbo].[Employee] ALTER COLUMN cID SET DEFAULT '22'
#4
怎么删除呢。
#5
--如果知道默认值的约束名,按如下:
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
#6
删除原来的默认值约束,在修改时还是有错。
#7
删除后,就需要添加,如:
ALTER TABLE [dbo].[Employee] add constraint 约束名 Default ('22') for cID
ALTER TABLE [dbo].[Employee] add constraint 约束名 Default ('22') for cID
#8
alter table TC_Employee
drop df_Name
alter table TableName
add constraint df_name default(1) for clomnName
drop df_Name
alter table TableName
add constraint df_name default(1) for clomnName
#9
学习了
#10
--如果知道默认值的约束名,按如下:
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
--删除后,就需要添加,如:
exec ('ALTER TABLE [dbo].[Employee] add constraint ' + @csname + ' Default (''22'') for cID')
alter table 表名 drop constraint 约束名
--如果不知道默认值约束的名称,需要用SQL来取得:
declare @csname varchar(100)
set @csname=''
select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N'表名') and name='字段名')
--动态删掉约束
exec('alter table 表名 drop constraint '+@csname)
--删除后,就需要添加,如:
exec ('ALTER TABLE [dbo].[Employee] add constraint ' + @csname + ' Default (''22'') for cID')
#11
学习了。