PostgreSQL错误:错误:插入的目标列多于表达式

时间:2018-11-09 07:14:57

标签: postgresql

插入表时出错

myquery:

INSERT INTO ike.poledata(
             poleid, feature, value, others, users,  type)
    VALUES ( 'dba', 'dba1','dba2','dba3', 'dba4', 'dba4');

错误:

  

错误:INSERT的目标列多于表达式第1行:   ... oledata(uid,极化,功能,值,其他,用户,类型,操作...

查询:

INSERT INTO ike.hist_poledata (uid,poleid ,feature, value,others, users,type,operation,new_value)
VALUES (new.uid,new.poleid,new.feature,new.value,new.users,new.type)
  

上下文:SQL上的PL / pgSQL函数ike.hist_poledata()第9行   声明   **********错误**********

     

错误:INSERT的目标列多于表达式SQL状态:   42601上下文:SQL上的PL / pgSQL函数ike.hist_poledata()第9行   声明

请让我知道此错误的解决方案。  预先感谢。

2 个答案:

答案 0 :(得分:1)

您的列列表INSERT INTO ike.hist_poledata (uid,poleid ,feature, value,others, users,type,operation,new_value)具有比值列表更多的列:

(new.uid,new.poleid,new.feature,new.value,new.users,new.type)

删除未使用的列或为其添加值

INSERT INTO ike.hist_poledata (uid,poleid ,feature, value,others, users,type)
                     values   (new.uid,new.poleid,new.feature,new.value,new.users,new.type)

答案 1 :(得分:1)

将以下6个值的语句更正为9,如下所示:

INSERT INTO ike.hist_poledata (uid,poleid ,feature, value,others, users,type,operation,new_value)
VALUES (new.uid,new.poleid,new.feature,new.value,new.users,new.type)

更改为以下内容:

INSERT INTO ike.hist_poledata (uid,poleid ,feature, value,others, users,type,operation,new_value)
VALUES (new.uid,new.poleid,new.feature,new.value,new.others, new.users,new.type, new.operation, new.new_value)

该消息清楚地传达了有关更新请求和参数不匹配的信息。