我已经有一段时间没有用 postgres 编写了。但是,所有基于 SQL 的数据库的想法几乎相同。
为了将随机值插入新列,您必须对表执行 UPDATE。
下面是一个使用 MySQL 的例子:
-- 初始创建和插入
mysql> create table t1(
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.20 sec)
mysql> insert into t1 values('blah blah blah'), ('aaa');
Query OK, 2 rows affected (0.04 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from t1;
+----------------+
| name |
+----------------+
| blah blah blah |
| aaa |
+----------------+
2 rows in set (0.00 sec)
-- 修改表
mysql> alter table t1 add zone int not null;
Query OK, 0 rows affected (0.28 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> select * from t1;
+----------------+------+
| name | zone |
+----------------+------+
| blah blah blah | 0 |
| aaa | 0 |
+----------------+------+
2 rows in set (0.00 sec)
-- 更新特定列
mysql> UPDATE t1 SET zone=floor(rand()*(80+1)) WHERE name='aaa';
Query OK, 1 row affected (0.11 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from t1;
+----------------+------+
| name | zone |
+----------------+------+
| blah blah blah | 0 |
| aaa | 6 |
+----------------+------+
2 rows in set (0.00 sec)
-- 一次更新整个表
mysql> UPDATE t1 SET zone=floor(rand()*(80+1));
Query OK, 2 rows affected (0.04 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select * from t1;
+----------------+------+
| name | zone |
+----------------+------+
| blah blah blah | 67 |
| aaa | 76 |
+----------------+------+
2 rows in set (0.00 sec)
希望有帮助