declare @a varchar(200)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('你的表') and a.name='你的列' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
if @a is not null
exec('alter table 你的表 drop constraint '+@a)
go
alter table 你的表 add id1 int not null
go
update 你的表 set id1=你的列
go
alter table 你的表 drop column 你的列
go
exec sp_rename '你的表.id1','你的列'
go
alter table 你的表 add constraint pk_你的表_你的列 primary key (你的列)
declare @a varchar(200)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('表名') and a.name='主鍵列名' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
if @a is not null
exec('alter table 表名 drop constraint '+@a)
alter table 表名 add id1 int
update 表名 set id1=主鍵列名
alter table 表名 drop column 主鍵列名
exec sp_rename '表名.id1','主鍵列名'
alter table 表名 add constraint pk_表名_主鍵列名 primary key (主鍵列名)
declare @a varchar(20)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('表名') and a.name='主鍵列名' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
if @a is not null
exec('alter table 表名 drop constraint '+@a)
alter table 表名 add id1 int
update 表名 set id1=主鍵列名
alter table 表名 drop column 主鍵列名
exec sp_rename '表名.id1','主鍵列名'
alter table 表名 add constraint pk_表名_主鍵列名 primary key (主鍵列名)
declare @a varchar(20)
select @a=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('表名') and a.name='主鍵列名' and a.id=b.id and b.constid=c.id and c.name like 'PK%'
if @a is not null
exec('alter table 表名 drop constraint '+@a)