SQL Server 删除表的默认值约束

时间:2021-12-21 09:53:22

首先查出字段的默认值约束名称,然后根据默认值约束名称删除默认值约束

declare @constraintName varchar(200)

select @constraintName = b.name from syscolumns a,sysobjects b where a.id=object_id('TB_KYSubProject') and b.id=a.cdefault and a.name='Final_Belong_Programme' and b.name like 'DF%'

SELECT @constraintName

exec('alter table TB_KYSubProject drop constraint '+@constraintName)

 

注意:

1.sql中constraint 前缀PK、UK、DF、CK、FK:

PK是primary key缩写,主键约束

UK是unique key缩写,唯一约束

CK是check缩写,检查约束

FK是foreign缩写,主外键关系

DF是default缩写,默认值约束

 

2.syscolumns

cdefault :int 该列的默认值 ID。

id:int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。

name:sysname 列名或过程参数的名称。 

 

3.object_id函数

该函数会返回指定对象的ID值