为顺序项目postgresql添加多个条目

Add multiple entries for sequential items postgresql

我想添加多个条目,1列保持不变,1列每次增加1。 要手动执行此操作,我必须执行

INSERT INTO table (column1, column2) VALUES ('1'::integer, '1'::integer)returning column1, column2;
INSERT INTO table (column1, column2) VALUES ('1'::integer, '2'::integer)returning column1, column2;
INSERT INTO table (column1, column2) VALUES ('1'::integer, '3'::integer)returning column1, column2;

等等

有没有一种方法可以在 1 个查询中处理数字 1 到 34000?

使用generate_series():

INSERT INTO table (column1, column2) 
    SELECT 1, gs.n
    FROM generate_series(1, 34000) gs(n);

注意:不需要将字符串转换为整数。一般来说,数字文字就可以了。在任何情况下,如果需要,Postgres 会将数字文字转换为正确的类型(比如 intnumericfloat 或其他)。