想给表中的id列填入不重复的序列号,从1到200,该怎么做啊

yblxmmt 2004-08-11 05:22:00
我的表里现在别的列已经有数据了,只有id列全为null
我想给每一行生成不重复的id, 该怎么做啊?
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yblxmmt 2004-08-11
  • 打赏
  • 举报
回复
我是按照pbsql的方法做的,很简单啊
不过也要感谢sankis,应该也可以的
yblxmmt 2004-08-11
  • 打赏
  • 举报
回复
服了!大哥们真牛!
谢谢
sankis 2004-08-11
  • 打赏
  • 举报
回复
这个好办 你的主键是 id 就是那个自增的字段,你准备加的字段和tid
declare @min int ,@max int
update 表 set tid = 0 where 状态 = 1
Select @min = min(id), @Max = Max(id) From 表 Where 状态 = 1
while @min <= @max
begin
update 表 set tid = tid + 1 where id = @Min
set @min = @min + 1
end
如果你想从1到5自己改一下就可以了
Eddie005 2004-08-11
  • 打赏
  • 举报
回复
自增长字段
pbsql 2004-08-11
  • 打赏
  • 举报
回复
alter table t add xxx int identity(1,1)
go
update t set id=(select count(*) from t a where a.xxx<=t.xxx and a.状态=t.状态)
alter table t drop column xxx
go
yblxmmt 2004-08-11
  • 打赏
  • 举报
回复
谢谢二位先. 还有个问题也帮忙解答一下吧
我的表里还有一个字段为 "状态", 值为1,2,3,4,5
我想为状态为1的行编上从从1开始的不重复的id,状态为2,3,4,5的也一样
状态不同的行id可以重复
这该怎么做啊?
sankis 2004-08-11
  • 打赏
  • 举报
回复
设为自动加一
yesterday2000 2004-08-11
  • 打赏
  • 举报
回复
select identity(int,1,1) as xh,* into #a from TB
UPDATE TB SET ID=B.XH FROM TB A,#A B WHERE A.关联=b.关联
haipingma 2004-08-11
  • 打赏
  • 举报
回复
設為自動增長

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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