如何从postgresql中另一个表的列添加数据?

时间:2015-02-17 13:46:34

标签: postgresql

我是postgresql新手,需要执行以下操作:

我有table1:id1整数,column1时间戳,column2时间戳,column3时间戳。

我有table2:id2整数,column1 varchar,column2数字,column3时间戳。

我想将table2.column3中的数据附加到table1.column1,而table1.id1(主键)应该自动增量。 table1.column2中的相应字段应该获取实际时间的时间戳。 Table1.column3应保持为空 没有用于链接表的公共字段。 此外,table2.column3包含具有相同值的多个条目。但是,table1.column1中不应存在重复值。

我在网上做了很多研究,但没有找到类似的东西。

我试过了:

Insert into table1 (id1,column1,column2)
values ((id1).nextval),(select column3 from table2),now());

但是它在select命令中给了我一个语法错误,我确信还有其他问题。

有人可以帮忙吗?我没有任何线索。

1 个答案:

答案 0 :(得分:1)

您可以将插入与select查询组合在一起(将为select查询的每个结果插入一条记录)。在你的例子中,它将是:

INSERT INTO table1 (column1,column2)
SELECT column3, NOW() from table2

注意:我省略了id列,因为它默认填充默认值auto increment。