恢复栏位的在表中的位置

当一个栏位被删除后,重新建立后,其位置不在原来的地方,如果想恢复该栏位在表中的出现的顺序,需要更改栏位在syscolumns的colid值,其具体步骤如下:

 create table test_column(a char(1) null,b char(2) null,c char(1) null,d char(2)null)

--栏位被删除前的顺序
select * from test_column
alter table test_column drop column c

--栏位被删除后的顺序

select * from test_column
alter table test_column add c varchar(1) null

--栏位被添加后的顺序
select * from test_column

--更改栏位的顺序:

sp_configure 'allow updates','1'
go
reconfigure with override

update syscolumns set colid=colid+1 where colid>3 and id=object_id('test_column')
update syscolumns set colid=3 where name='c' and id=object_id('test_column')
sp_configure 'allow updates','0'
go
reconfigure with override
go

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值