解决mysql报错:1406, Data too long for column(多种方案)

这篇具有很好参考价值的文章主要介绍了解决mysql报错:1406, Data too long for column(多种方案)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

传送 centosAI

适用于linux系统

一般1406, Data too long for column错误大部分会是因为某一列表的数据长度受限,最好的办法是进入数据库,找到表结构中对应的表头,修改数据库类型,这里以vod_first_letter为例,如果直接修改数据类型,可能会因为文本内容不兼容而导致失败,如将VARCHAR修改为LONGTEXE(长文本),(执行会报错),这时我们可以直接通过修改后面的长度值来达到同样的目的

data too long for column,mysql,servlet,java,Powered by 金山文档

下面先贴一下网上的众多解决方法,由我最开始介绍的直接修改数据类型,或者修改长度值是最简单的方法

以下方案可供备用

1、修改my.ini文件:

将sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注释掉,ok!

2、修改数据库编码为utf8,jsp、servlet编码转换为utf8存入;

3、只知道是中文处理的问题,但不知道如何改。最好的方法是把字段定得长一些;

4、把mysql的字符集设为utf8(通过修改my.ini,把所有的latin1改为utf8)并且通过show variables like '%char%';

5、以前我也遇到过类似的情况,我的建议:在装数据库的时候把你的字符集设置为gb2312,然后你建表的时候,汉字默认都是gb2312,在连接数据库的时候不要写成characterEnconding=true&charset=gb2312,把这个去掉。然后在连接的时候写,最好用gbk,gb2312对某些不常见的字符会出现Data too long for column,比如“珺”字等,至于数据库,只有默认的字符集是gb2312或者gbk或者utf8都没什么问题

对于我这里的情况也简要描述下,我的mysql把server端,client端,connection的字符设置都为gbk,在控制太插入中文字没有问题,但是从程序里面插入中文字就存在问题了。

用第1种方法试了下,不行。

用将所有的编码格式改为utf8,以前数据库里面的中文字全变成了乱码,第2种方法也不行.

第3种方法,我将数据库里面的name设为varchar(255),这是足够大的,可以存125个汉字了,还是不行,即使是存一个汉字也会报Data too long for column的错误,因此第3种方法显然是瞎掰。

用第4种方法试了下,也这是提供你信息,你的数据库各个端都采用什么编码方式,并不能解决问题

最后试了第5种方法,没有完全按照它所说的做,在插入数据库之前先执行stat.execute("set names gb2312");就能成功将中文字插入到数据库中。文章来源地址https://www.toymoban.com/news/detail-812246.html

到了这里,关于解决mysql报错:1406, Data too long for column(多种方案)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 报错Command line is too long. Shorten the command line xxx【解决办法】

    运行springboot项目的时候,出现报错,报错信息如下: Error running OrderServiceBoot. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun. 报错原因: springboot项目启动命令过长 解决办法 解决方法有两种,正如报错信息截图所示,缩短命令行或者改为应用程

    2024年02月11日
    浏览(45)
  • /bin/rm Argument list too long – Linux 删除海量文件报错的解决方法

    这种情况主要在大批量删除居多文件的情况下发生,也是因为删除的命令参数超过了shell参数的个数导致的,可以通过 getconf ARG_MAX 来确认,解决方法好几种 配合find与xargs完成删除海量文件 可以通过find和xargs命令配合的方式,比如删除当前目录所有的png文件, 上面的这个命令

    2024年01月21日
    浏览(49)
  • ES报错:[parent] Data too large, data for [<http_request>] would be larger than limit of XXXX

    当es这个错误的时候 : [parent] Data too large, data for [http_request] would be larger than limit of [23941899878/22.2gb], with { bytes_wanted=23941987633 bytes_limit=23941899878 } 通常原因是 在于fielddata的内存被占用完了,其他索引无法分配更多的内存。 另外,查询语句写的不好,单个请求聚合查询的数据太

    2024年02月09日
    浏览(45)
  • com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column

    一、报错信息 二、实体类及controller 三、请求  四、解决办法及原因分析 不存储这么大的数字或者修改数据库中的长度。原因分析:我要存储的长度不算小数点的10为长度,大于数据库中设计表的范围。数据库中的长度为10,小数点位数2位,也就是说,最大的数字为-99999999

    2024年02月12日
    浏览(41)
  • 查询ES报错429 circuit_breaking_exception,“reason“:“[parent] Data too large, data for \[<http_request\>\]

    查询ES报错:429 Too Many Requests;circuit_breaking_exception,”reason”:”[parent] Data too large, data for [http_request]“ 问题 :ES查询报错:429 Too Many Requests;circuit_breaking_exception,“reason”:“[parent] Data too large, data for [http_request]” 原因 :ES查询缓存占用内存过大,超过阈值(默认70%),查

    2024年02月12日
    浏览(45)
  • MySQL出现Specified key was too long; max key length is 3072 bytes解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。   本文主要介

    2024年02月16日
    浏览(40)
  • MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00‘ for column

    使用navicat导入数据时报错: MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00’ for column 这是因为当前的MySQL不支持datetime为0的情况。 MySQL报incorrect datetime value ‘0000-00-00 00:00:00’ for column错误原因,是由于在MySQL5.7版本以上,默认设置SQL_Mode模式,在模式里有NO_ZERO_DATE,NO_ZERO_IN_

    2024年02月12日
    浏览(46)
  • idea 启动报错 Command line is too long

    启动报错信息: Error running ‘Application‘: Command line is too long. 翻译过来就是:启动命令过长! 解决方案 1、点开项目启动配置项目; 2、 shorten command line 选项选择 JAR manifest 或者 classpath file 选项,点击 Apply 和 OK,然后重启项目; Error running test: Command line is too long 上面是运行

    2024年02月10日
    浏览(54)
  • ES实战- data too large, data for

    客户现场业务系统突然查询不到数据,个人一开始分析以为是聚合查询报错,于是去看了下系统日志,看到如下日志打印: 尝试重启ES后系统可以恢复正常,但是运行一段时间后又会再次上报这个Data too large的错误。 PS:es版本7.10 分析报错,看日志Caused by: ElasticsearchStatusExcep

    2024年02月03日
    浏览(45)
  • Error running ‘FileApp‘: Command line is too long. Shorten command line for

    报错如下 Error running \\\'FileApp\\\': Command line is too long. Shorten command line for 解决方案如下: 打开运行配置  点击上面,默认是收起来的,点击下,下面选择标注的红色的, 重新运行,可以正常启动了

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包