English 中文(简体)
员额查询错误
原标题:Postgres query error
  • 时间:2009-11-06 09:52:56
  •  标签:

我在职位上有一个问题。

insert into c_d (select * from cd where ak =  22019763 );

我犯了以下错误:

ERROR:  column "region" is of type integer but expression is of type character varying
HINT:  You will need to rewrite or cast the expression.
最佳回答

表格2中的缩略语 表1的每一栏将同表2的栏目相加,其数值为order,不论名称为何。

这里的问题是,“区域”表c.d中的任何一栏的定值与正值相同,其类型不相符,因此无法用含蓄的字体来清除混淆。

<编码> INSERT INTO SINET * statements are ylistically poor form,less the two table are defined, and will forever be defined,exactly. 所有这些都需要一个额外的栏目来加起来,否则,你就会开始对额外栏目产生错误。

如果是完全可能的,我将建议明确在<代码>SlectT内打列栏。 您可以称职,在每一栏目内更改类型(或您可以界定这种暗含的新类型——见<代码>CREATE CAST),并可使用<代码>AS,将栏目贴上与您的目标栏。

如果你出于某种原因不能这样做,你就会指出,在你的问题上。

问题回答

http://www.postgresql.org/docs/8.1/static/sql-insert.html The syntax is:

INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | query }

这里指的是:

INSERT INTO c_d (column1, column2...) select * from cd where ak =  22019763 

这是你在将数值从一个表上加到另一个表格时所希望使用,因为一栏类型和顺序并不完全相同。





相关问题
热门标签