Spring SimpleJdbcInsert 失败 'INSERT has more target columns than expressions'
Spring SimpleJdbcInsert fails with 'INSERT has more target columns than expressions'
我正在使用 SimpleJdbcInsert 将行插入到 PostgreSQL 数据库中。但是,我收到以下错误:
Caused by: org.postgresql.util.PSQLException: ERROR: INSERT has more
target columns than expressions.
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [INSERT
INTO product (product_id,product_name,product_code,in_
stock,product_category) VALUES(?)]; SQL state [25P02]; error code [0];
ERROR: current transaction is aborted, commands ignored until end of
transaction block; nested exception is
org.postgresql.util.PSQLException: ERROR: current transaction is
aborted, commands ignored until end of transaction block
数字列与我在打印出如下所示的 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为主键,不为空。问题可能是因为我没有使用自动生成的主键吗?我仍然不明白为什么那会是个问题。
错误消息中显示的列与我正在打印的参数列表中的列完全相同。这些值也与列数相符,所以我真的很困惑为什么 PostgreSQL 会给出这个错误。请帮忙!
我能够使用 Spring JDBC.
的不同解决方案来解决它
我正在使用 SimpleJdbcInsert 将行插入到 PostgreSQL 数据库中。但是,我收到以下错误:
Caused by: org.postgresql.util.PSQLException: ERROR: INSERT has more target columns than expressions. org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO product (product_id,product_name,product_code,in_ stock,product_category) VALUES(?)]; SQL state [25P02]; error code [0]; ERROR: current transaction is aborted, commands ignored until end of transaction block; nested exception is org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
数字列与我在打印出如下所示的 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为主键,不为空。问题可能是因为我没有使用自动生成的主键吗?我仍然不明白为什么那会是个问题。
错误消息中显示的列与我正在打印的参数列表中的列完全相同。这些值也与列数相符,所以我真的很困惑为什么 PostgreSQL 会给出这个错误。请帮忙!
我能够使用 Spring JDBC.
的不同解决方案来解决它