用自增+1的序号填充某列?

qbssdp 2011-03-15 03:22:47
有一表"table1"如下
id daa fid
1 561
2 564
3 451
4 454

我想在“fid”列中从3开始,自增+1的序号填充“fid”列。结果如下:

id daa fid
1 561 3
2 564 4
3 451 5
4 454 6
...全文
141 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cutebear2008 2011-03-15
  • 打赏
  • 举报
回复
问题问的不清楚啊,^_^!
So_CooL 2011-03-15
  • 打赏
  • 举报
回复
Create table tb(
id int identity(1,1),
name varchar(20)
)
GO
insert into tb
select '2' union all
select '3' union all
select '4'

select id,name,ROW = ROW_NUMBER() over(order by id asc) + 2
from tb
叶子 2011-03-15
  • 打赏
  • 举报
回复

update tb set fid = id + 2
oO寒枫Oo 2011-03-15
  • 打赏
  • 举报
回复
实时更新有3种办法:
1.建立一个试图
2.计算列
3.触发器

更新一次:
update tb set fid = id + 2
gw6328 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]
如果是更改表数据.

update tb set fid = id + 2
[/Quote]

如果id不连续

;with cte as
(
select idx=row_number() over(order by id ),* from tb
)
update cte set fid=idx+2;
oO寒枫Oo 2011-03-15
  • 打赏
  • 举报
回复
实时更新还是就此更新一次啊?
AcHerat 元老 2011-03-15
  • 打赏
  • 举报
回复
create table tb(id int,aaa varchar(100),fid as id+2)
--小F-- 2011-03-15
  • 打赏
  • 举报
回复
用计算列就可以了
qbssdp 2011-03-15
  • 打赏
  • 举报
回复
ID是主键,是填充表
dawugui 2011-03-15
  • 打赏
  • 举报
回复
如果是更改表数据.

update tb set fid = id + 2
dawugui 2011-03-15
  • 打赏
  • 举报
回复
创建表吗?

定义 fid as id + 2即可.

34,590

社区成员

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

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