求 将表中的主键ID重新排序 的 方法

jiaxiaoguang1989 2010-08-16 12:32:19
表中ID为自增 主键 删除部分数据后 ID不连续了 现在想让ID重新排序 求各位有什么好的解决办法

我想到的是 取消主键 批量更改 然后 设置主键

或者

把数据批量插入到一张新表中

不知道各位大侠是怎么实现的 说说吧
...全文
248 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovezx1028 2010-08-17
  • 打赏
  • 举报
回复
declare @table table 
(
学号 int identity(1,1),
姓名 varchar(10) not null,
住址 varchar(10) not null
)
insert into @table
select '王刚','武汉'
union all select '刘明','上海'
union all select '王红','北京'

delete from @table where 学号=2
select ROW_NUMBER() over(order by 学号) as 学号,姓名,住址 from @table
guguda2008 2010-08-16
  • 打赏
  • 举报
回复
删掉主键UPDATE一下行了。
SQLCenter 2010-08-16
  • 打赏
  • 举报
回复
一般方法大体上差不多,删除列,添加列。

找出孤岛UPDATE也行
jiaxiaoguang1989 2010-08-16
  • 打赏
  • 举报
回复
其实并不是我要用的 一同事问了我一嘴 我就是想问问有没有什么好的方式
至于有没有必要这么做,呵呵呵.....
水族杰纶 2010-08-16
  • 打赏
  • 举报
回复
这个没有必要吧
为什么不查询的处理下
2005 row_number很容易做到
2000就用子查询好了
guguda2008 2010-08-16
  • 打赏
  • 举报
回复
我的建议是新加一列连续数字列。。。主键不要动它。要动的话你的两个方案都可行。
hao1hao2hao3 2010-08-16
  • 打赏
  • 举报
回复
有这个必要吗?是程序中需要吗?

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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