web-dev-qa-db-ja.com

10000の新しい行を挿入しますか?

おそらく、簡単で簡単な解決策があります。 10000の新しい行を作成したいと思います-行ごとにデータなしで連続番号が付けられます(連続番号のIDを除く)。利用した:

INSERT INTO bins (id)
VALUES (1)

iD「1」の単一行を作成するには

対応するID番号で10000行を作成するにはどうすればよいですか?

バージョン:PostgreSQL 9.5.5

9
Andrew

generate_series() setを返す関数を使用できます。

INSERT INTO bins (id) 
SELECT g.id
FROM generate_series(1, 10000) AS g (id) ;
14
ypercubeᵀᴹ

PostgreSQLの GENERATE_SERIES() 関数を使用すると、これは楽勝です!これらの関数は非常に強力であり、探索する価値があります。

CREATE TABLE bins  AS 
SELECT * FROM GENERATE_SERIES(1, 10) AS id;

SELECT 10
Time: 294.351 ms

次に:

test=# select * from bins;
 id 
----
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
(10 rows)

Time: 59.766 ms
test=# 

そして:

test=# \d bins;
                Table "public.bins"
 Column |  Type   | Collation | Nullable | Default 
--------+---------+-----------+----------+---------
 id     | integer |           |          | 

test=# 
3
Vérace