SQLSERVER设立自动增长列
SQLSERVER设置自动增长列我从另外一个数据库里复制过来了A表的十几万条数据到B表,但是,复制后的数据的表,B
SQLSERVER设置自动增长列
我从另外一个数据库里复制过来了A表的十几万条数据到B表,
但是,复制后的数据的表,B表的ID不是自动增长,也不是主键。
我把B表设置为主键后,如何设置B表的ID自动增长呢,就从已经存在的最大ID后开始增长,
怎么设置都不成功。
[最优解释]
set identity_insert on
select max(id) from B --找出B表最大ID,假设为100
declare @test table (ID int identity(101,1),name varchar(2))
insert into @test
select 'b' union all
select 'r'
select * from @test
-----------------------------
/*
IDname
101b
102r
*/
[其他解释]上面最后加
set set identity_insert off
[其他解释]在表设计器里设置标识种子为你的最大ID值就可以了
[其他解释]你是怎么弄的,报什么错?
[其他解释]分享下你的方法
[其他解释]说来听听
[其他解释]不行的,报错。
[其他解释]这个:不允许保存更改。您所做的更改要求删除并重新重新创建以下表。您对无法重新创建的表进行了更改或者启用了“组织保存要求重新创建表的更改”选项。
[其他解释]是否因为表中有数据,就无法更改为自动增长的原因 ?
[其他解释]我已经解决啦,感谢。
[其他解释]该回复于2012-09-04 13:40:59被版主删除
[其他解释]方法就是:工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改 取消勾选即可。
这是在有数据之后,强制性的修改的。