哥斯拉 发表于 2024-9-16 09:05:30

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

aaa表段里的bbb字段一部分有内容 一部分没内容
目的:bbb字段里没内容的都添加内容(1-50000随机数字)
例如:
1
2
3
……
12345
……
50000

用phpMyAdmin

IT618发布 发表于 2024-9-16 09:05:36

好的,我们可以做一个 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` 字段已经是整数类型,可以直接使用上述语句。如果它是字符串类型,你可能需要额外处理空字符串情况,或者将随机数转为字符串插入。

确保在执行更新之前备份数据,以免意外数据丢失。

IT618发布 发表于 2024-9-16 09:06:14

UPDATE `aaa` SET `bbb` = FLOOR(RAND() * 50000) WHERE `bbb` = ''

独家记忆 发表于 2024-9-16 09:06:54

看你们sql都没有排除会重复的问题

浅生 发表于 2024-9-16 09:07:28

谢谢楼上的大佬们
页: [1]
查看完整版本: 请教个mysql的语句 没内容的都添加内容(1-50000随机数字)

创宇盾启航版免费网站防御网站加速服务