mysql - 如何将随机值插入到 mysql 中?

标签 mysql random insert

看起来我需要的是 RAND,但我在理解它的工作原理时遇到了一些麻烦。

我需要在几千行中插入一个 60 到 120 之间的随机数。表名是:listing 列名是:hits

你能帮忙吗?

最佳答案

要生成 60 到 120 之间的随机整数,您需要对 RAND() 的结果做一些算术运算,它只产生浮点值:

SELECT FLOOR(60 + RAND() * 61);

那么这里发生了什么:

RAND() 将产生类似 0.847269199 的值。我们将其乘以 61,得到值 51.83615194。我们添加 60,因为这是您想要的高于零的偏移量 (111.83615194)。 FLOOR() 将整个事情向下舍入到最接近的整数。最后,你有 111。

要对几千个现有行执行此操作:

UPDATE table SET randcolumn = FLOOR(60 + RAND() * 61) WHERE (<some condition if necessary>);

参见 the MySQL docs on RAND()更多示例。

注意 我认为我的算术正确,但如果您得到超出预期范围的 59 或 121 值,请相应地向上或向下更改 +60

关于mysql - 如何将随机值插入到 mysql 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129374/

相关文章:

MySQL按列索引插入唯一记录

mysql - 将 mysql 中的 *everything* 更改为 utf8

javascript - 如何在使用 Ajax 时在 JavaScript 和 PHP 中为下拉菜单设置增量值

haskell - Haskell 中定义范围内的随机 double 列表?

c++ - 随机生成器,种子不起作用

python - 如何使用逆 CDF 在 Python 中随机抽样对数正态数据并指定目标百分位数?

php - 从动态表单发布(多行)

mysql - 使用不同的日期格式将 CSV 导入 MySQL

mysql - 连接和左连接

c# - 值 > 32kb 的 MySql LongText 无法选择