mysql 占位符去除引号_吐槽 MySQL数据库jdbc操作,varchar类型占位符问题——单引号造孽...

很长时间不写代码动手能力明显下降很多常见的错误还是经常发生,今天吐血了一次。

简单的坑总是要多跳几次才能甘心。很清晰的记得大学的时候在此坑差点闷死,现在又跳进这个坑了,搞了半天终于知道错在哪里。

String sqlString = "insert into cryptcontent(content,assistentContent) value(‘asf‘,‘asfd‘)";

DBHelper.insertQuery(sqlString);

这样操作可以的。因此占位符应该也没问题,前提占位符使用正确。代码如下(错误的):

String sqlString =String.format(

"insert into cryptcontent(content,assistentContent) value(%s,%s)",

assistantEncryptResultString, valueString);

DBHelper.insertQuery(sqlString);

此时怎么调试都报错,然后进行调试,报错如下:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘afsdf‘ in ‘field list‘

Debug 调试出现:insert into cryptcontent(content,assistentContent) value(afsdf,asfasfd )

wP9Zrl9mb4DMgAAAABJRU5ErkJggg==

错误找到:注意后面value中的varchar类型的列的字段值没有单引号。故修正:

String sqlString =String.format(

"insert into cryptcontent(content,assistentContent) value(‘%s‘,‘%s‘)",

assistantEncryptResultString, valueString);

DBHelper.insertQuery(sqlString);

然后执行成功。

原文:http://www.cnblogs.com/xiangyangzhu/p/5352585.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值