我是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命令中给了我一个语法错误,我确信还有其他问题。
有人可以帮忙吗?我没有任何线索。
珍
答案 0 :(得分:1)
您可以将插入与select查询组合在一起(将为select查询的每个结果插入一条记录)。在你的例子中,它将是:
INSERT INTO table1 (column1,column2)
SELECT column3, NOW() from table2
注意:我省略了id列,因为它默认填充默认值auto increment。