首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring SimpleJdbcInsert失败,因为“INSERT有比表达式多的目标列”

Spring SimpleJdbcInsert失败,因为“INSERT有比表达式多的目标列”
EN

Stack Overflow用户
提问于 2022-03-05 04:35:37
回答 1查看 180关注 0票数 0

我使用SimpleJdbcInsert将行插入到PostgreSQL数据库中。但是,我得到了以下错误:

由: org.postgresql.util.PSQLException: ERROR: INSERT引起,目标列多于表达式。org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback;用于SQL插入到产品中的未分类的SQLException (product_id,product_name,product_code,in_ stock,product_category)值(?);SQL状态25P02;错误代码;错误:当前事务被中止,命令被忽略直到事务块结束;嵌套异常是org.postgresql.util.PSQLException:错误:当前事务被中止,命令被忽略直到事务块结束。

数字列与打印如下所示的MapSqlParameterSource对象时试图插入的值数完全相同:

代码语言:javascript
复制
        Parameters Names :: 
        [
        product_id,
        product_name, 
        product_code, 
        in_ stock, 
        product_category
      ]

       Parameters Values :: [{
       product_id=1518, 
       product_name=Sofa, 
       product_code=150,  
       in_stock=true, 
       product_category=null, 
     }]

product_id是主键,它不是null。问题是因为我没有使用自动生成的主键吗?我仍不明白为何会出现问题。

错误消息中显示的列与我正在打印的参数列表中的列完全相同。这些值也符合列的数量,所以我真的很困惑为什么PostgreSQL会给出这个错误。请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-07 22:03:18

我能够用与使用Spring不同的解决方案来解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71359524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档