1406 - Data too long for column ‘deintro‘ at row 1报错原因以及解决办法

2023-10-25 00:21

本文主要是介绍1406 - Data too long for column ‘deintro‘ at row 1报错原因以及解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天用MySql数据库打算插入几个数据,大约有几千个汉字左右,插入的时候出现了这个错误。
1406 - Data too long for column ‘deintro’ at row 1

问题原因:

开始设置的数据类型为varchar,要输入的数据较多
插入的数据比数据类型大,会被截断时,就会报错,无法插入。

解决办法:

后来我把varchar数据类型换成了mediumtext。
这样就不会报错了。

新的问题:

问题一

mediumtext类型长度无法更改,数据表中长度为0,改成别的值保存仍为0。

答:这个类型是在另外开辟了一个存储空间保存的,表中是存了一个指针指向这个外部存储空间的问题。存储的长度也是固定的。

问题二

虽然可以插入文字了,但是插入的汉字有字数限制,仅仅可存储700多个字符。
答:这个还没解决

问题三

数据我存进去了,显示的也是汉字,但是我把数据库表格关闭重新打开后,数据统一变成了(BLOB)
在这里插入图片描述
答:后来我查了一下。text字段如果使用utf8_bin编码,数据库会显示blob,并且会乱码。我看了一下自己的也确实用的UTF8-bin编码。
解决办法:把utf8-bin改成utf8_general_ci就可以了

另外在这里科普一下utf8_unicode_ci、utf8_general_ci和utf8_bin这几个的区别:

utf8__bin是用二进制存储并比较,区别大小写,存储二进制内容时使用
utf8_general_ci:校对速度快,但准确度稍差,使用中英文时使用
utf8_unicode_ci:准确度高,但校对速度稍慢,使用德法俄等外语时使用
这样就一目了然了。

这篇关于1406 - Data too long for column ‘deintro‘ at row 1报错原因以及解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法

《Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法》本文解析Spring框架中BeanCreationExce... 目录引言一、问题描述1.1 报错示例假设我们有一个简单的Java类,代表一个用户信息的实体类:然后,

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各