首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQLSERVER设立自动增长列

2012-12-17 
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值就可以了
[其他解释]
引用:
引用:

在表设计器里设置标识种子为你的最大ID值就可以了

不行的,报错。

你是怎么弄的,报什么错?
[其他解释]
引用:
我已经解决啦,感谢。

分享下你的方法
[其他解释]
引用:
我已经解决啦,感谢。

说来听听
[其他解释]
引用:
在表设计器里设置标识种子为你的最大ID值就可以了

不行的,报错。
[其他解释]
引用:
引用:
引用:

在表设计器里设置标识种子为你的最大ID值就可以了

不行的,报错。

你是怎么弄的,报什么错?


这个:不允许保存更改。您所做的更改要求删除并重新重新创建以下表。您对无法重新创建的表进行了更改或者启用了“组织保存要求重新创建表的更改”选项。
[其他解释]
引用:
引用:
引用:

在表设计器里设置标识种子为你的最大ID值就可以了

不行的,报错。

你是怎么弄的,报什么错?

是否因为表中有数据,就无法更改为自动增长的原因 ?
[其他解释]
我已经解决啦,感谢。
[其他解释]
该回复于2012-09-04 13:40:59被版主删除
[其他解释]
方法就是:工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改  取消勾选即可。
这是在有数据之后,强制性的修改的。

热点排行