如何在PostgreSQL中向特定列插入随机整数
我在PostgreSQL中已有一个表“public.trip_info”,我在其中添加了一个新列“zone”,现在我想在该列中插入1到80之间的随机整数。因此我知道如何在PostgreSQL中生成1到80之间的随机数如何在PostgreSQL中向特定列插入随机整数,sql,database,postgresql,Sql,Database,Postgresql,我在PostgreSQL中已有一个表“public.trip_info”,我在其中添加了一个新列“zone”,现在我想在该列中插入1到80之间的随机整数。因此我知道如何在PostgreSQL中生成1到80之间的随机数 SELECT floor(random() * 80 + 1)::int; 如何将其插入到所有行的列中。 我不熟悉SQL脚本。这个怎么样 update public.trip_info set zone = floor(random() * 80 + 1)::int;
SELECT floor(random() * 80 + 1)::int;
如何将其插入到所有行的列中。
我不熟悉SQL脚本。这个怎么样
update public.trip_info
set zone = floor(random() * 80 + 1)::int;
这个怎么样
update public.trip_info
set zone = floor(random() * 80 + 1)::int;
我已经有一段时间没有写博士后了。然而,对于所有基于SQL的数据库来说,这个想法几乎是一样的 为了向新列中插入随机值,必须对表进行更新 下面是一个使用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)
希望这对我有所帮助。我写博士后已经有一段时间了。然而,对于所有基于SQL的数据库来说,这个想法几乎是一样的 为了向新列中插入随机值,必须对表进行更新 下面是一个使用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)
希望这有帮助谢谢你的详细解释。确实有帮助。谢谢你的详细解释。确实有帮助。如何生成范围内的随机数,例如(40,80)update public.trip_info set zone=floor(random()*80+40)::int;这还不到40sometimes@RKR . . . 这个问题具体是关于1到80之间的数字。如果您还有其他问题,您应该作为问题而不是在评论中提问。如何生成范围内的随机数,例如(40,80)update public.trip_info set zone=floor(random()*80+40)::int;这还不到40sometimes@RKR . . . 这个问题具体是关于1到80之间的数字。如果你还有其他问题,你应该作为问题而不是评论提问。