我在职位上有一个问题。
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.
我在职位上有一个问题。
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
这是你在将数值从一个表上加到另一个表格时所希望使用,因为一栏类型和顺序并不完全相同。