用户角色表结构如下:
UserID RoleID
1 2
1 3
1 4更新为
UserID RoleID
1 1
1 3
1 5可以用先删除重新添加实现,但觉得效率太低了,有其他方式实现吗?请诸位指点
UserID RoleID
1 2
1 3
1 4更新为
UserID RoleID
1 1
1 3
1 5可以用先删除重新添加实现,但觉得效率太低了,有其他方式实现吗?请诸位指点
set @num=-1
update tb set RoleID=@num,@num=@num+2
update t set
RoleID=-1+rownum*2
from
(select row_number() over(order by (select 0)) as rownum, * from tb) t
修改前 修改后
---------------------------------------
UserID RoleID ||UserID RoleID
-------------------------------------
1 2 1 1 Update
1 3 1 3 Update
1 4 1 5 Update
1 7 Insert每一次操作可以通過一個transaction 來控制。