更新列在postgreSQL

时间:2016-12-20 03:53:00

标签: database postgresql random

我想将9000到7500之间的随机整数插入PostgreSQL中的一列。所以我用过:

update public.table
set column_name = floor(random() * 9000 + 7500)::int; 

但它没有更新专栏。我怎样才能做到这一点?

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

update public.table
set column_name = floor(random() * 9000 + 7500)::int; 

此条件floor(random() * 9000 + 7500)::int仅评估一次。你想要的是

  • 使用uniqueid|randomid创建一个查询,然后将其加入public.table进行更新。
  • 使用这些随机ID创建一个新表。

    CREATE TABLE mytable AS
    SELECT row_number() OVER () AS id,
      floor(random()*(9000-2500)) + 2500 AS rand
    FROM generate_series(1,1000);