我已经创建了一个表并且已经填满了数据,我想添加更多行。 如果我执行以下操作,这些行看起来很完美:
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...
我理解,但我不喜欢,因为我不知道如何克服它。
那么,我该怎么做?
谢谢!
答案 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我要插入什么以及在哪里的习惯。
谢谢!