MySQL报错解决--Parameter index out of range (1 > number of parameters, which is 0)

本文详细解析了在使用Mysql进行删除操作时遇到的Parameterindexoutofrange错误,阐述了错误原因在于SQL语句中使用的问号为中文字符而非英文字符,并提供了正确的SQL语句写法,同时提及了MyBatis环境下类似问题的解决方案。

2018年05月29日 17:44:29 stalin_ 阅读数:1731
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/stalin_/article/details/80499496
今天在操作Mysql进行删除操作时,出现了这么一个错误。

Parameter index out of range (1 > number of parameters, which is 0)

结合网上各位大佬给出的解答,终于将其解决。

问题出在手写的sql出错。

这个报错的含义指的是第一个参数的问题,也就是说问题出在?左右。

这是我写的sql:

String sql = “DELETE FROM T_PUB_NODE_INFO WHERE C_IP =?”;
看起来是不是没有错误。。。

原来是我的问号是中文输入法下的?,不是英文输入下的?。改了之后就好了。

另外网上也有其他错误情况。

例如这样写:

String sql = “DELETE FROM T_PUB_NODE_INFO WHERE C_IP =’?’”;
还有在MyBatis下报这个错误可能是你 like 语句写错了。

在mybatis里面写就是应该是 like ‘%${name} %’ 而不是 ‘%#{name} %’ 。

${name} 是不带单引号的,而#{name} 是带单引号的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值