Truncated incorrect DOUBLE value: 'd'的解决方法(jdbc)
今天写jdbc中dao的增删改查时遇到了一个问题,花费了好长时间,不过还好,有我峰哥出头,问题解决了,在这做个分享,对峰哥表达一下感激之情
网上搜索到的对“Truncated incorrect DOUBLE value”的解决方法主要是这两种:
①修改了多个列的值而各列之间用逗号连接而不要用and
错误写法示例:
String sql = "update user set username=? and password=? where id=?";
正确写法示例:
String sql = "update user set username=? , password=? where id=?";
②SQL语句在拼接字符串时使用函数CONCAT()而不要用“+”
但我只修改一列而且是直接传参的啊= =。一开始我尝试通过preparedstatement设置动态参数,即
String sql="UPDATE arrange SET askForLeave='是' WHERE employeeNum=? and arrangeDate=?";
这次不报Truncated incorrect DOUBLE value了,改报语法错误了= =
于是把and替换成or,结果正确;把参数改成同格式的常量,结果也正确;去掉一个条件,结果还是正确;说明错误出在两个参数上
最后我的解决方法是把
String sql="UPDATE arrange SET askForLeave='是' WHERE employeeNum=“+employeeNum+” and arrangeDate="+leaveDate;
改成了
String sql="UPDATE arrange SET askForLeave='是' WHERE employeeNum='"+employeeNum+"' and arrangeDate='"+leaveDate+"'"
在字符串变量前后又加了单引号
希望以后别再被掉这坑了。。。。。。很难受

作者:泰斗贤若如
微信公众号:去有风的地方飞翔
Github:https://github.com/zyx110
有事微信:zyxt1637039050
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同: “分享的越多,你的价值增值越大”,我们一同在分享中进步,在分享中成长,越努力越幸运。再分享一句话“十年前你是谁,一年前你是谁,甚至昨天你是谁,都不重要。重要的是,今天你是谁,以及明天你将成为谁。”
人生赢在转折处,改变从现在开始!
支持我的朋友们记得点波推荐哦,您的肯定就是我前进的动力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?