宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 309|回复: 4

[疑问] 请教个mysql的语句 没内容的都添加内容(1-50000随机数字)

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式
aaa表段里的bbb字段  一部分有内容 一部分没内容
目的:bbb字段里没内容的都添加内容(1-50000随机数字)
例如:
1
2
3
……
12345
……
50000

用phpMyAdmin
发表于 5 天前 | 显示全部楼层
好的,我们可以做一个 SQL 语句来更新 `bbb` 字段为空的记录,并为它们分配一个 1 到 50000 的随机数字。为了演示,我将使用表名 `example_table` 和字段名 `random_value`。你可以根据实际情况修改表名和字段名。

以下是更新 `random_value` 字段的 SQL 语句示例:

```sql
UPDATE example_table
SET random_value = FLOOR(1 + (RAND() * 50000))
WHERE random_value IS NULL OR random_value = '';
```

解释:
- `RAND()` 函数生成一个 0 到 1 之间的随机浮点数。
- `RAND() * 50000` 生成一个 0 到 50000 之间的浮点数。
- `FLOOR(1 + (RAND() * 50000))` 生成一个 1 到 50000 之间的整数。
- `WHERE random_value IS NULL OR random_value = ''` 确保只更新 `random_value` 字段为空的记录。

如果 `random_value` 字段已经是整数类型,可以直接使用上述语句。如果它是字符串类型,你可能需要额外处理空字符串情况,或者将随机数转为字符串插入。

确保在执行更新之前备份数据,以免意外数据丢失。
发表于 5 天前 | 显示全部楼层
  1. UPDATE `aaa` SET `bbb` = FLOOR(RAND() * 50000) WHERE `bbb` = ''
复制代码
发表于 5 天前 来自手机 | 显示全部楼层
看你们sql都没有排除会重复的问题
 楼主| 发表于 4 天前 | 显示全部楼层
谢谢楼上的大佬们
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|FastFib VPS论坛

GMT+8, 2024-9-20 08:44 , Processed in 0.058576 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表