mysql生成不重复随机数(unique number generation)

待整理
参考博客

MySql给表中某字段插入随机数
示例:给 表中的某个字段插入随机数数据,取值500~2000

update 表名 set 字段名 = floor(500+rand()*1500);

floor:函数只返回整数部分,小数部分舍弃,即向上取整

rand:函数用于产生0(包含)到1(不包含)的随机数

我们经常会遇到使用随机的问题,下面就是一种解决随机数的方法。

在构造测试数据时,我们需要对测试表插入随机数据。构造测试数据的方法如下,仅以update为例说明

步骤1:随机数的SQL函数为rand() ,而rand()生成的是0-1之间的小数。

步骤2:将rand()*10

步骤3:使用cast做类型转换

Cast的用法如下:

Cast(value as type)

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

SELECT CAST(RAND()*10 AS signed) AS rand

步骤4:运行sql语句

UPDATE storm_effect_info s SET

s.fhtp = (SELECT CAST(RAND()*10 AS signed) AS rand)WHERE s.id = 13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

以码平川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值