我使用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对象时试图插入的值数完全相同:
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会给出这个错误。请帮帮我!
发布于 2022-03-07 22:03:18
我能够用与使用Spring不同的解决方案来解决这个问题。
https://stackoverflow.com/questions/71359524
复制相似问题