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

2024-05-18 23:58

本文主要是介绍SQLException: #22001你知道这个错误码吗,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

做一个积极的人

编码、改bug、提升自己

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

文章目录

      • java.sql.SQLException: #22001
      • 结论
      • 问题排查
      • 解决
      • 自己的一点小思考

java.sql.SQLException: #22001

java.sql.SQLException: #22001at 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你知道这个错误码吗的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995690

相关文章

[情商-13]:语言的艺术:何为真实和真相,所谓真相,就是别人想让你知道的真相!洞察谎言与真相!

目录 前言: 一、说话的真实程度分级 二、说谎动机分级:善意谎言、中性谎言、恶意谎言 三、小心:所谓真相:只说对自己有利的真相 四、小心:所谓真相:就是别人想让你知道的真相 五、小心:所谓善解人意:就是别人只说你想要听到的话 前言: 何为真实和真相,所谓真相,就是别人想让你知道的真相!洞察谎言与真相! 人与人交流话语中,处处充满了不真实,完全真实的只是其中一小部分,这

java.sql.SQLException: No data found

Java代码如下: package com.accord.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import

SQLException: No Suitable Driver Found - 完美解决方法详解

🚨 SQLException: No Suitable Driver Found - 完美解决方法详解 🚨 **🚨 SQLException: No Suitable Driver Found - 完美解决方法详解 🚨****摘要 📝****引言 🎯****正文 📚****1. 问题概述 ❗****2. JDBC 驱动程序的工作原理 🔧****3. 错误的根本原因 🕵️**

【NodeJS】Unexpected token (109:0) 返回错误码500

刚开始报错是这样的: Unexpected token call 是什么我没看懂,但我发现 span.label.lable-success 后面的 #[i+1] 写错了,应该是 #{i+1} 改成完这个错误后又是一个错误提示: What? Unexpected token (109:0) 返回错误码500是什么鬼 我先将自己这段源码的 - if ... - else 检查下

看病要排队这个是地球人都知道的常识

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝唯有付出,才有丰富的果实收获! 看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来

纳米材料咋设计?蛋白质模块咋用?看这里就知道啦!

大家好,今天我们来了解一项关于蛋白质纳米材料设计的研究——《Blueprinting extendable nanomaterials with standardized protein blocks》发表于《Nature》。蛋白质结构复杂,其组装体的设计颇具挑战。但近期的研究取得了新突破,通过设计标准化的蛋白质模块,如线性、曲线和转角模块等,实现了纳米材料的可扩展性和规律性。这

只有对比,才知道伊利股份半年报的高成色

投资圈有句名言:“当潮水退去的时候,才知道谁在裸泳”。大环境顺风顺水,大家看着都挺好,只有环境变化,才更容易分辨出来,谁才是真有实力。当下,在消费环境弱复苏的大背景下,高成色的半年报业绩让伊利股份的实力一览无余。 8月29日,伊利股份发布中期业绩。上半年,面对严峻复杂的市场环境,伊利直面挑战、主动调整,实现营业总收入599.15亿元,归母净利润75.31亿元,均稳居行业第一。

【异常】java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.

异常现象 执行mysql数据库操作的时候,出现以下异常信息: java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868) ~[mysql-connector-

7z.exe错误码整理

一、7z解压缩工具常见错误码整理 0 : 正常,没有错误;1 : 警告,没有致命的错误,例如某些文件正在被使用,没有被压缩;2 : 致命错误;7 : 命令行错误;8 : 没有足够的内存;255 : 用户停止了操作;

从新手到大师:Java并发编程你必须知道的那些事!

文章目录 1 进程和线程的区别?2 如何创建一个线程实例并且运行它?3 Runnable 和 Callable 接口有什么区别?它们是如何使用的?4 方法定义中 synchronized 关键字的含义是什么?静态方法?在一个块之前 ? 1 进程和线程的区别? 进程是独立的执行单元,拥有自己的资源和内存,而线程是在进程内的执行单元,共享进程的资源。线程可以高效地执行任务,但需