Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL大规模插入到表中?_Postgresql - Fatal编程技术网

PostgreSQL大规模插入到表中?

PostgreSQL大规模插入到表中?,postgresql,Postgresql,我需要将列a中的所有值大量插入另一个表中。我可以这样一次做一个: INSERT INTO table_2 (col_a_id) SELECT 'col_a_id' FROM table_1 WHERE col_a = 'x'; 但是有没有一种方法可以插入所有的列 编辑 假设我有这张桌子: Col_a | Col_b | ------------------------ 1 | a | 2 | b | 3

我需要将
列a
中的所有值大量插入另一个表中。我可以这样一次做一个:

INSERT INTO table_2 (col_a_id)
SELECT 'col_a_id'
FROM table_1
WHERE col_a = 'x';
但是有没有一种方法可以插入所有的列

编辑

假设我有这张桌子:

Col_a    |    Col_b    |
------------------------
1        |      a      |
2        |      b      |
3        |      c      |
我不必检查
colu\u a
中的内容,而是可以将
colu\u a
的每个实例插入表中吗?因此,我将在
表2中设置
1、2和3

INSERT INTO table_2 (col1, col2, col3, .... , coln)
SELECT col1, col2, col3, .... , coln
FROM table_1
WHERE col_a = 'x';
注意:字符串用单引号分隔

SELECT 'this is a string'
Fieldname使用双引号:

SELECT "myFieldName", "col1"
编辑:

如果要检查所有列中的
'x'

WHERE 'x' IN (col1, col2, col3, .... , coln)

把它们串在一起就行了。SQL允许您任意组合您想要的列,逗号分隔。我想您可以,我只需要查询的语法。那么问题是什么?只需包含所有以逗号分隔的列。。。。顺便说一句,“col\u a\u id”
是字符串值还是字段列名?我认为阅读postgresql手册在这种情况下可能有用,非常好,谢谢!现在,没有使用列a='x'的
方法,而是有办法获取每个
列a
?我在问题中添加了一个示例。我希望这能澄清我的问题!well不清楚,但如果要插入每个值,只需删除
WHERE
子句即可