2016-12-20 1 views
-1

9000에서 7500 사이의 임의의 정수를 PostgreSQL의 열에 삽입하고 싶습니다. 따라서 저는 다음을 사용했습니다 :업데이트 열이 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은 한 번만 평가됩니다. 당신이 원하는 것은 하나

  • 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() '을 호출하여 행마다 한 번 평가되도록하는 방법이 있었으면 좋겠습니다. –

관련 문제