插入带有明确“标签”的表格

时间:2013-01-31 11:02:36

标签: postgresql select insert

我已经创建了一个表并且已经填满了数据,我想添加更多行。 如果我执行以下操作,这些行看起来很完美:

select  elem_1, elem_2, 'myTag' as source, count(*) as tally 
from origin_table group by elem_1, elem_2;

我基本上做的是从origin_table获取数据,并通过elem_1和elem_2选择我将标签“myTag”附加到这些夫妇中。由于我可能有重复,我也认为count(*)为tally,要知道我在origin_table中有多个相等的条目。这是一个可以避免的细节。

现在,如果我继续广告,请执行以下操作:

insert in to destination_table 
select  elem_1, elem_2, 'myTag' as source, count(*) as tally 
from origin_table group by elem_1, elem_2;
postgres吠声:

ERROR:  invalid input syntax for integer: "myTag"
LINE 1: insert into destination_table select elem_1, elem_2, 'myTag' as sou...

我理解,但我不喜欢,因为我不知道如何克服它。

那么,我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:1)

按照a_horse_with_no_name的建议,我将插入内容转换为:

insert into destination_table (elem_1,elem_2,source,tally) select elem_1, elem_2, 'myTag' as source, count(*) as tally from origin_table group by elem_1, elem_2;

它工作得很漂亮。 我应该养成告诉postgres我要插入什么以及在哪里的习惯。

谢谢!