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
子句即可