关于字段超长导致的插入错误的提示信息

背景

你们肯定遇到过这样的错误,跑的程序需要插入或更新一张表,值的长度超过字段最大限制而报错。要如何定位是哪个字段长度过小导致的?

方法

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)相关推荐

  1. django oracle clob,记一次clob字段损坏导致的01555错误

    这个专题讲一些日常运维的异常处理 1. 现象 开发人员找说应用连接不上,报ORA-01555错误 2. 原因查找 2.1 查看undo使用率等情况 第一反应当然是查询是否undo表空间不足 通过如下命 ...

  2. MySQL数据库字段超长问题

    1. 存在的问题 在向MySQL数据库表中插入或更新记录时,有时会出现字段超长的问题,包括但不限于以下场景: 处理上游系统发送的交易信息,将多个字段拼成一个JSON或其他格式的字符串:在增加字段,或数 ...

  3. JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD

    JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...

  4. 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 ...

  5. 【MySQL】MySQL Insert into select 大量锁表导致无法插入

    1.概述 原文:因用了Insert into select语句,同事被开除了! Insert into select 请慎用,同事因为使用了 Insert into select 语句引发了重大生产事 ...

  6. Hibernate插入错误:GenericJDBCException: could not insert:

    数据库中一般不能建立user(表名为User)表,将User类改名,又一次建立映射,问题就能够解决 当然,还有还有一种情况.就是类中id类型错误.要设置为Integer型才干够设置自己主动增长,否则也 ...

  7. 大数据互联网架构阶段 Spring框架导致的406错误

    Spring框架导致的406错误 一. 分析 当ajax发出请求(http://zxx.xxx.com/xxx.html后缀)实际是请求动态资源时 , .html后缀会让spring以为传递过来的请求 ...

  8. 技术实践丨如何解决异步接口请求快慢不均导致的数据错误问题?

    本文分享自华为云社区<如何解决异步接口请求快慢不均导致的数据错误问题?>,原文作者:Kagol . 引言 搜索功能,我想很多业务都会涉及,这个功能的特点是: 用户可以在输入框中输入一个关键 ...

  9. ios的vn服务器未响应,iOS应用程序导致内部服务器错误

    我有一个很奇怪的问题.我的应用程序正在导致我的服务器狂暴.iOS应用程序导致内部服务器错误 我的iOS应用程序使用TFHPPLE解析来自服务器上的PHP页面的数据.它从页面抓取一个名称,并检查该广告系 ...

最新文章

  1. c语言gets多组测试,C语言如何实现输入多组数据测试
  2. python怎么判断输入的是不是数字_如何在PYTHON里判断字符串是否为数字
  3. 最近录制了一些视频,搭建和测试了一下视频平台
  4. hdu 4781 Beautiful Soup 构造
  5. 精细化管理设备资产,降低企业运营成本
  6. ubuntu18.04通过deb文件安装软件
  7. 项目管理的九大知识领域
  8. Makefile编译忽略warning或者将warning视为error
  9. 1.2、从“生日贺卡”看C++字符串的输入和输出
  10. 明日之后无限信用点的服务器,明日之后免费刷信用点特别版
  11. 多项式(带余)除法学习笔记
  12. trinity运行原理及常见报错(一)
  13. 什么是对象切片(Object Slicing)?
  14. SVN服务端使用说明(二)
  15. MySQL错误:Can't create table‘..’ (errno:150)解决方案
  16. win32_11gr2_client安装教程
  17. java编程兔子问题_JAVA编程题-用java解决兔子问题
  18. 【问题记录】ImportError: DLL load failed while importing _imaging: 找不到指定的模块
  19. 蔚来汽车前端春招一面面经(2021.4.21)
  20. 国产数据库“向未来”

热门文章

  1. 腾讯优图TFace正式开源,更可信的人脸识别!
  2. python计算英文的单词数
  3. 让你的 Mac 用上最美的屏保,Aerial 使用教程
  4. 天才少年自制芯片:媲美英特尔 4004 CPU
  5. 关于Mifare Classic Tool (MTC)工具的秘钥包
  6. 深度学习——卷积神经网络是否能编码位置信息?
  7. 学数答题160912-导数极值点偏移
  8. 2016理数全国卷 T21
  9. Lipschitz函数相关
  10. 这才是全规格样式车牌识别,秒杀各种“不服”