sql修改字段设置自增长

moluyisheng 2011-04-07 01:55:45
求教:现在我有一个表table1,有字段id,name,创建时没有设置id的自增长,现在要设置自增长该如何设置。 注意在不影响数据的前提下使用sql语句,我的数据库是sql 2000 求教-------------
...全文
4835 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero 2011-04-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 moluyisheng 的回复:]

引用 5 楼 iihero 的回复:
引用 3 楼 moluyisheng 的回复:

我补充一点 就是我想让我自动增长的那一列的号码不是间断的

你原来不间断,它就不会间,,你原来有间断,那又想保持原值,岂不是自相矛盾?



比如说我现在的id是自动增长的,是1到6,我现在把6删了 我想让他还是从6开始 可以实现吗?
[/Quote]
在你删之后, set identity_insert <表> on
然后全值插入就行。
iihero 2011-04-09
  • 打赏
  • 举报
回复
2楼已经给出很详细的步骤,为何不试一下。
moluyisheng 2011-04-09
  • 打赏
  • 举报
回复
2楼给出的方法和实现的效果一样,也是无法控制的。我试过了。
moluyisheng 2011-04-08
  • 打赏
  • 举报
回复
我补充一点 就是我想让我自动增长的那一列的号码不是间断的
moluyisheng 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 iihero 的回复:]
引用 3 楼 moluyisheng 的回复:

我补充一点 就是我想让我自动增长的那一列的号码不是间断的

你原来不间断,它就不会间,,你原来有间断,那又想保持原值,岂不是自相矛盾?
[/Quote]


比如说我现在的id是自动增长的,是1到6,我现在把6删了 我想让他还是从6开始 可以实现吗?
iihero 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 moluyisheng 的回复:]

我补充一点 就是我想让我自动增长的那一列的号码不是间断的
[/Quote]
你原来不间断,它就不会间,,你原来有间断,那又想保持原值,岂不是自相矛盾?
iihero 2011-04-07
  • 打赏
  • 举报
回复
如果要保持原来的id列的所有值,可能步骤比较麻烦。
先创建一个新表t2, 设原表为t1

create table t2 (id int identity(1, 1) primary key, col2 varchar(32))
set identity_insert t2 on
insert into t2(id, col2) select * from t1
drop table t1
sp_rename 't2', 't1'
set identity_insert t1 off
WWWWA 2011-04-07
  • 打赏
  • 举报
回复
自增列不能直接修改,必须将原有ID列删除,然后重新添加一列具有identity属性的ID字段。比如你要修改的字段名为ID:

alter table 表名 drop column ID

alter table 表名 add ID int identity(1,1)

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧