SQLException: #22001你知道这个错误码吗

做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!文章目录java.sql.SQLException: #22001结论问题排查解决自己的一点小思考java.sql.SQLException: #22001java.sql.SQLException: #22001 at com.mysql.jdbc.SQLError.createSQLException(SQ…

大家好,又见面了,我是全栈君。

做一个积极的人

编码、改bug、提升自己

我有一个乐园,面向编程,春暖花开!

java.sql.SQLException: #22001

java.sql.SQLException: #22001
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2838)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2082)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2334)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2262)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:22

报错,没见过,一天两个sql爆出了这个错误! 然后发现直接去搜 java.sql.SQLException: #22001 竟然没有 能匹配的帖子。自己整理一篇,方便后续回顾,也希望帮助到需要的伙伴!

结论

-- 表字段长度
`desc` varchar(255) DEFAULT NULL COMMENT '描述'
--长度884
职场上没有谁是永远靠得住的,正如西方名言“没有永远的朋友,也没有永远的敌人,只有永远的利益”。我们要想让别人靠得住,首先是自己站得住。如果自己站不住,别人一定靠不住。你自己不懂得如何保护自己,别人也不好多管闲事,自然帮不了你。
在职场什么最重要,让你成为一个璀璨的星星,答案就是:核心竞争力。如果说你技术好,比你技术好的多的是,如果说你经验丰富,比你丰富的人多的去。所以我们的核心竞争力是什么呢?记得我的上司给我说过这样一句话:”如果你的理念独一无二和略胜一筹的话,再加上稍稍的技术那就是你在别人面前可以竞争的资本“。我们的亮点也就在这。学会一种理念,超越别人思维的理念,你就是耀眼的金子。

某些字段长度大于表字段的长度,导致执行sql的时候,报错

我遇到的问题是因为是老的项目,前端对输入的内容没有做任何校验,后台也没有相应的校验,导致不符合业务格式的数据能够通过代码层层逻辑,最终撞到数据库的南墙,头破了,”爆出”错误!

细心的伙伴可能已经看出,上面这个字段desc是mysql的一个关键字。建议不要使用!

阿里巴巴明确代码规范手册,Mysql数据库 >> 建表规约:

4、【强制】禁用保留字,如 desc 、 range 、 match 、 delayed 等,请参考 MySQL 官方保留字

问题排查

1、首先通过报错信息找到具体出现错误的代码行,我这里出现错误是因为有一行更新数据 的sql 报出的错。

2、知道具体的行数后,通过debug或者打印(查看)日志的方式打印出需要更新的数据。

3、通过打印的数据和数据库字段值进行比对。看一下是哪个字段出现的问题。

解决

根据实际业务进行修改,如果实际业务的确需要保存那么长的数据,则修改字段长度。 否则对数据进行检验,不允许用户填写这么长的内容。

自己的一点小思考

1、如果发现这个问题,看一下是不是之前设计表的时候,字段长度没有考虑好,长度不符合实际业务需求。

2、如果是长度设计合理,那在编写代码的时候,一定要对用户输入的内容做检验(前端+后台),永远不要相信用户的输入内容!!!


谢谢你的阅读,如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到!祝你每天开心愉快!


不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页 : https://aflyun.blog.csdn.net/

愿你我在人生的路上能都变成最好的自己,能够成为一个独挡一面的人
SQLException: #22001你知道这个错误码吗

© 每天都在变得更好的阿飞云

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121011.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • safeurl php,关于php的allow_url_fopen和safe_mode函数

    safeurl php,关于php的allow_url_fopen和safe_mode函数安装dedecms时注意到系统需要两个函数,所以顺便看一下这两个函数的定义:allow_url_fopen就是允许fopen这样的函数打开url。这里有更官方的解释:http://php.com/manual/zh/filesystem.configuration.phpsafe_modephp的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件…

  • Python常用代码_python画图代码大全

    Python常用代码_python画图代码大全原标题:30个Python常用极简代码,拿走就用文章转自:Python程序员学Python怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则。本文是30个极简任务,初学者可以尝试着自己实现;本文同样也是30段代码,Python开发者也可以看看是不是有没想到的用法。、1重复元素判定以下方法可以检查给定列表是不是存在重复元素,它会使用set函数来移除所有重复元…

  • Java 枚举(enum) 详解7种常见的用法

    Java 枚举(enum) 详解7种常见的用法JDK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。大师兄我【大师兄】又加上自己的理解,来帮助各位理解一下。用法一:常量在JDK1.5之前,我们定义常量都是:publicstaticfinal….。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。Java代码publ…

  • 阿里云产品介绍

    阿里云产品介绍文章目录一、阿里云四大件1、云服务器ECS2、云数据库RDS3、负载均衡SLB4、对象存储OSS5、其他的云计算产品1)内容分发网络CDN:2)专有网络VPC:2)弹性伸缩:二、阿里云安全系列产品1、DDoS高防IP2、安骑士3、证书服务4、态势感知5、堡垒机三、阿里云网络中间件相关消息队列MQ四、阿里云万网产品1、域名2、虚拟主机3、企业邮箱4、云解析DNS公有云和私有云概念bai概念imghttps://www.aliyun.com/product/rds/mysql?spm=a2cls.b9237

  • word文件都变成了白色的图标了,该怎么处理?-ZOL问答_word图标变成白底docx

    word文件都变成了白色的图标了,该怎么处理?-ZOL问答_word图标变成白底docxwin10word图标变白了怎么办?在win10操作系统中当我们需要使用一些办公软件office,当我们在win10系统中安装了office之后,桌面上出现了excel、word以及PowerPoint等图标,这些图标上竟然都显示不正常,在图标上面有一个白色的图标,变白的现象该怎么办呢?针对这样的现象一般是缓存文件引起的,下面给大家介绍下win10word图标变成白底的解决方法。word图标…

    2022年10月19日
  • nfs共享使用方法

    nfs共享使用方法

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号