mysql数据库插入数据显示Extracted SQL state class '22' from value '22001'解决办法

Extracted SQL state class ‘22’ from value ‘22001’
问题描述
最近在完成一个项目时,需要实现在网页从excel导入数据,然后保存到数据库中.在测试阶段时发现运行没有任何问题,但是实际部署过程中发现,用户上传excel导入数据失败,日志如下:

Extracted SQL state class '22' from value '22001'
1
解决办法
搞清楚此异常的原因,需要查询sql的执行状态表:
这条异常的意思是说,要保存的数据超过了数据库中对该字段定义的最大长度,检查数据表的定义,修改不合适字段定义,问题解决

类代码22:数据异常
SQLSTATE 值    含义
22001    字符数据,发生右截断;例如,更新或插入值对于列来说太长(字符串),或者日期时间值由于太小而不能赋给主机变量。
22002    检测到空值或缺少指示符参数;例如,不能将空值赋给主机变量,因为没有指定指示符变量。
22003    数字值超出范围。
22004    不能从定义为 PARAMETER STYLE GENERAL 的过程或者从用非空自变量调用的类型保留方法中返回空值。
22007    检测到无效的日期时间格式;即指定了无效的字符串表示法或值。
22008    发生日期时间字段溢出;例如,对日期或时间戳记算术运算的结果不在有效日期范围之内。
2200G    大多数特定类型都不匹配。
22011    发生子字符串错误;例如,SUBSTR 的自变量超出范围。
22012    用零作除数是无效的。
22018    对于 CAST、DECIMAL、FLOAT、或 INTEGER 标量函数,字符值是无效的。
22019    LIKE 谓词有无效转义字符。
22021    某字符不在编码字符集中。
22024    以 NUL 结束的输入主机变量或参数不包含 NUL。
22025    LIKE 谓词字符串模式包含无效的转义字符。
2202D    配合变异方法使用了空实例。
2202H    在 TABLESAMPLE 子句中指定的样本大小无效。
22501    变长字符串的长度控制字段为负值或大于最大值。
22504    混合数据值是无效的。
22506    对日期时间专用寄存器的引用无效,因为 TOD 时钟发生故障或操作系统时区参数超出范围。
22522    CCSID 值根本无效,对数据类型或子类型无效,或对编码方案无效。
22526    键变换函数没有生成任何行或生成了重复的行。
22527    对多行 INSERT 操作检测到了无效的输入数据。
--------------------- 
作者:纪晓岚爱coder 
来源:CSDN 
原文:https://blog.csdn.net/weixin_37815691/article/details/83042039 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值