美文网首页
SQL查询报错Parameter index out of ra

SQL查询报错Parameter index out of ra

作者: dengcaiyun01 | 来源:发表于2017-10-10 20:09 被阅读0次

报错信息为:

### Cause: java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).

出错的SQL语句为:

 SELECT    count(DISTINCT order_id)   

 FROM    t_lm_seckill_pool   

 WHERE  LOCATE('"gongjijin":"有"',info) > 0 AND              

 (  LOCATE(CONCAT('"zhiye":','"',?,'"'),info) > 0   

or    LOCATE(CONCAT('"zhiye":','"',?,'"'),info) > 0  )     AND    

 LOCATE('"gongzixingshi":?',info) > 0  AND 

sold_state = 0

仔细查看sql语句,出错点在于LOCATE('"gongzixingshi":?',info) > 0。

对应在xml文件中的实现为

LOCATE('"gongzixingshi":#{gongzixingshi,jdbcType=VARCHAR}',info) > 0  

要实现的功能是查询"gongzixingshi":"银行转账"在info字段中是否被包含,

改为:LOCATE(CONCAT('"gongzixingshi":','"',#{gongzixingshi},'"'),info) > 0  即可。

相关文章

网友评论

      本文标题:SQL查询报错Parameter index out of ra

      本文链接:https://www.haomeiwen.com/subject/vsubyxtx.html