it-swarm.com.de

10000 neue Zeilen einfügen?

Vermutlich gibt es eine einfache und unkomplizierte Lösung. Ich möchte 10000 neue Zeilen erstellen, die fortlaufend ohne Daten pro Zeile nummeriert sind (außer fortlaufend nummerierte ID). Ich habe benutzt:

INSERT INTO bins (id)
VALUES (1)

um eine einzelne Zeile mit der ID '1' zu erstellen

Wie erstelle ich 10000 Zeilen mit der entsprechenden ID-Nummer?

Version: PostgreSQL 9.5.5

9
Andrew

Sie können die Rückgabefunktion generate_series() set verwenden:

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

Mit der Funktion GENERATE_SERIES () von PostgreSQL ist dies ein Kinderspiel! Diese Funktionen sind sehr leistungsfähig und es lohnt sich, sie zu erkunden!

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

SELECT 10
Time: 294.351 ms

Dann:

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

Time: 59.766 ms
test=# 

und:

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

test=# 
3
Vérace