请教个mysql的语句 没内容的都添加内容(1-50000随机数字)
aaa表段里的bbb字段一部分有内容 一部分没内容目的:bbb字段里没内容的都添加内容(1-50000随机数字)
例如:
1
2
3
……
12345
……
50000
用phpMyAdmin 好的,我们可以做一个 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` 字段已经是整数类型,可以直接使用上述语句。如果它是字符串类型,你可能需要额外处理空字符串情况,或者将随机数转为字符串插入。
确保在执行更新之前备份数据,以免意外数据丢失。 UPDATE `aaa` SET `bbb` = FLOOR(RAND() * 50000) WHERE `bbb` = '' 看你们sql都没有排除会重复的问题 谢谢楼上的大佬们
页:
[1]