怎样随机更新记录
怎样随机更新记录呢?
用update table set updatetime=getdate() where id in(select id from table order by newid())
这个不可以,提示必须给个TOP
当然了我想要的是不给TOP,各位高手有办法解决吗?
我是新手,没有几分,不好意思,请见谅。
------解决方案--------------------就是说将updatetime的值打乱
那需要多次update
declare @i int
set @i=100
while @i> 0
begin
update table set updatetime=getdate() where id =(select top 1 id from table order by newid())
set @i=@i-1
end
------解决方案--------------------或者换个思路
--先打乱次序放到临时表
select id,IDENTITY(int,1,1) as id0
into #
from table
order by newid()
--再更新时间
update a set updatetime=dateadd(second,t.id0,getdate())
from table a,# t
where a.id=t.id