关于字段超长导致的插入错误的提示信息(value too long for type character varying)
关于字段超长导致的插入错误的提示信息
背景
你们肯定遇到过这样的错误,跑的程序需要插入或更新一张表,值的长度超过字段最大限制而报错。要如何定位是哪个字段长度过小导致的?
方法
1、先要获取错误信息
最直观的是在web页面上爆出这个错误信息(如果有的话),或者日志上找错误信息。有了错误信息之后怎么定位?
2、如何排查?
- 对于mysql,错误提示信息有指示是究竟是哪个字段过短。
- 但是对于pgsql,提示得模糊。
pgsql没有提示出问题的字段名,只能通过 “类型+长度” 来猜是哪个字段过短。
比如pgsql的错误:
value too long for type character varying(20)
出问题的字段首先是character,即字符类型的,varying表示变长的,20表示表中该字段目前的长度,所以综合起来是varchar(20)。有时候光靠这些信息定位不出来,比如同表有两个或多个varchar(20)的字段时,就得查看入表的值才能进一步确定,确实是非常坑的。
实践
1、对于mysql表
insert into employee values(null,'01234567890123456789012345678901234567890123456789A','male',1,'java')
提示得挺清晰的,什么字段长度不足导致错误都有提示
> 1406 - Data too long for column 'name' at row 1
> 时间: 0.037s
2、pgsql
表结构如下
insert into t_test values (1, '0123456789012345678901234567890123456789A','man');insert into t_test values (2, 'stone','0123456789012345678901234567890123456789A');
错误提示,上面2句执行后,都是一样的提示,没法区分是哪个字段导致的,因为name和remark都是varchar(20)
> ERROR: value too long for type character varying(20)
关于字段超长导致的插入错误的提示信息(value too long for type character varying)相关推荐
- django oracle clob,记一次clob字段损坏导致的01555错误
这个专题讲一些日常运维的异常处理 1. 现象 开发人员找说应用连接不上,报ORA-01555错误 2. 原因查找 2.1 查看undo使用率等情况 第一反应当然是查询是否undo表空间不足 通过如下命 ...
- MySQL数据库字段超长问题
1. 存在的问题 在向MySQL数据库表中插入或更新记录时,有时会出现字段超长的问题,包括但不限于以下场景: 处理上游系统发送的交易信息,将多个字段拼成一个JSON或其他格式的字符串:在增加字段,或数 ...
- JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD
JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...
- oracle ora 00910,NVARCHAR2字段超长问题:ORA-00910: specified length too long for its datatype
NVARCHAR2字段超长问题:ORA-00910: specified length too long for its datatype 前几天在IMP的时候遇到了个问题: IMP-00017: f ...
- 【MySQL】MySQL Insert into select 大量锁表导致无法插入
1.概述 原文:因用了Insert into select语句,同事被开除了! Insert into select 请慎用,同事因为使用了 Insert into select 语句引发了重大生产事 ...
- Hibernate插入错误:GenericJDBCException: could not insert:
数据库中一般不能建立user(表名为User)表,将User类改名,又一次建立映射,问题就能够解决 当然,还有还有一种情况.就是类中id类型错误.要设置为Integer型才干够设置自己主动增长,否则也 ...
- 大数据互联网架构阶段 Spring框架导致的406错误
Spring框架导致的406错误 一. 分析 当ajax发出请求(http://zxx.xxx.com/xxx.html后缀)实际是请求动态资源时 , .html后缀会让spring以为传递过来的请求 ...
- 技术实践丨如何解决异步接口请求快慢不均导致的数据错误问题?
本文分享自华为云社区<如何解决异步接口请求快慢不均导致的数据错误问题?>,原文作者:Kagol . 引言 搜索功能,我想很多业务都会涉及,这个功能的特点是: 用户可以在输入框中输入一个关键 ...
- ios的vn服务器未响应,iOS应用程序导致内部服务器错误
我有一个很奇怪的问题.我的应用程序正在导致我的服务器狂暴.iOS应用程序导致内部服务器错误 我的iOS应用程序使用TFHPPLE解析来自服务器上的PHP页面的数据.它从页面抓取一个名称,并检查该广告系 ...
最新文章
- c语言gets多组测试,C语言如何实现输入多组数据测试
- python怎么判断输入的是不是数字_如何在PYTHON里判断字符串是否为数字
- 最近录制了一些视频,搭建和测试了一下视频平台
- hdu 4781 Beautiful Soup 构造
- 精细化管理设备资产,降低企业运营成本
- ubuntu18.04通过deb文件安装软件
- 项目管理的九大知识领域
- Makefile编译忽略warning或者将warning视为error
- 1.2、从“生日贺卡”看C++字符串的输入和输出
- 明日之后无限信用点的服务器,明日之后免费刷信用点特别版
- 多项式(带余)除法学习笔记
- trinity运行原理及常见报错(一)
- 什么是对象切片(Object Slicing)?
- SVN服务端使用说明(二)
- MySQL错误:Can't create table‘..’ (errno:150)解决方案
- win32_11gr2_client安装教程
- java编程兔子问题_JAVA编程题-用java解决兔子问题
- 【问题记录】ImportError: DLL load failed while importing _imaging: 找不到指定的模块
- 蔚来汽车前端春招一面面经(2021.4.21)
- 国产数据库“向未来”