为顺序项目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 会将数字文字转换为正确的类型(比如 int
或 numeric
或 float
或其他)。
我想添加多个条目,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 会将数字文字转换为正确的类型(比如 int
或 numeric
或 float
或其他)。