数据库给字段添加随机数
一.当数据表有唯一自增ID
Declare @CurentRecord int,@BeginNum int, @EndNum int, @TotalCount int,@Value int
set @BeginNum=1 -- 起止时间设定随机数范围,我想要1~3的随机数,所以起始数为1
set @EndNum=4 -- 终止数为4,不包含4
set @TotalCount=5 -- 生成随机数的个数
set @CurentRecord=1 -- 标志位
While @CurentRecord<=@TotalCount
Begin
set @Value= @BeginNum+(@EndNum - @BeginNum)*rand()
-- select @Value
update [testTable] set [level] = @Value where [ID] = @CurentRecord
set @CurentRecord=@CurentRecord+1
End
二.数据表没有自增ID
如果操作的数据表没有唯一自增ID时,在上边代码update中where [ID] = @CurentRecord显然是行不通的,在sql server中,我们可以通过row_number()over()来给表生成一个隐式编号,然后通过这个编号去操作:
DECLARE @startnum int,@endnum int,@count int,@flag int, @value int
set @startnum = 1 -- 生成1~5的随机数
set @endnum = 6
set @count = 1000
set @flag = 1
while @flag <= @count
Begin
Set @value = @startnum + (@endnum - @startnum)*RAND()
update [t1] set t1.level = @value from t1, (SELECT top 1000 ROW_NUMBER()over(order by authorname) num,[packageDate],[authorName] FROM [t1]) B
where t1.packageDate = B.packageDate and t1.authorName = B.authorName and B.num = @flag
Set @flag = @flag + 1
End
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!