当一列是变量值时,如何在Postgresql 8.4中插入行?
|
我想为\“ author \”表中的每个作者将记录插入\“ books \”表中。换句话说,如果这代表了作者表:
> 1 - \"Herman Melville\"
> 2 - \"Stephen King\"
> 3 - \"Truman Capote\"
...然后,插入将在\“ book \”表中产生以下结果:
> \'Hello World\' - 1
> \'Hello World\' - 2
> \'Hello World\' - 3
我有以下INSERT语句(它实际上是一个粗略的示例,但它演示了目标):
INSERT INTO books (title, author_id) VALUES (\'Hello World\', SELECT id FROM author);
不幸的是,这失败了,我不确定如何从“作者”表中获取每个“ id”值。
没有找到相关结果
已邀请:
4 个回复
骨乏唯瓜
编辑:有关更多信息,请检查INSERT文档;如您所见,源可以是DEFAULT VALUES,VALUES或查询。
娠侈脚惮顽
社攻取墟槽
这种语法可能最容易理解,但是其他注释程序(没有VALUES)指出的另一种语法可能更干净:您只需将要插入的记录(使用SELECT)构建出来,然后插入它;如果您对Distict字段有许多子选择,它也可能更有效。
死簇