首页 文章

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

提问于
浏览
0

我是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 回答

  • 1

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

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

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

相关问题