版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31246691/article/details/84872421
项目中数据库操作遇到的小bug,意思就是说,没有值再去给第九个参数赋值了,就是说添加的value的个数与sql语句中的占位字段个数不相同。
我的代码中只添加了八个参数:
pstmt.setInt(++i, statsCommon.getPlatform().getId());
pstmt.setInt(++i, statsCommon.getDate().getId());
pstmt.setInt(++i, inboundDimension.getInbound().getId());
pstmt.setInt(++i, inboundValue.getUvs());
pstmt.setInt(++i, inboundValue.getVisit());
pstmt.setString(++i, conf.get(GlobalConstants.RUNNING_DATE_PARAMES));
pstmt.setInt(++i, inboundValue.getUvs());
pstmt.setInt(++i, inboundValue.getVisit());
这是我的sql语句,其中有九个占位?:
insert into stats_inbound
(
platform_dimension_id
,
date_dimension_id
,
inbound_dimension_id
,
active_users
,
sessions
,
created
)values(?,?,?,?,?,?,?) on duplicate key update active_users
=?,sessions
=?
括号里明显多了一个问号,去掉即可。