2016-12-20 9 views
-1

PostgreSQLのカラムに9000と7500の間の乱数を挿入します。だから私は使用した:postgreSQLでカラムが更新されない

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

しかし、それは列を更新していません。どうやってやるの?

ご協力いただきましてありがとうございます。

答えて

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

この条件floor(random() * 9000 + 7500)::intは1回だけ評価されます。何が欲しいのは

  • のいずれかに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); 
    
+0

どうもありがとうございました。参加する代わりに、私はテーブルを作成し、randカラムをpublic.table(column_name)に挿入しました。 – John

+0

'random()'を呼び出す方法があり、行ごとに1回評価されることを望みます。 –

関連する問題