Data too long for column

2019-04-04 10:02:43

背景

最近在对MySQL进行一个常见的数据插入的时候,报了一个Data too long for column xxx的错误,当时就有点懵,首先我存放的这个字段里面内容可能会比较大,当初我就设置为TEXT类型,按理说用这个类型来存放已经足够,就不会报这个问题才对

解决办法

varchar

如果原本定义的字段类型为varchar类型,应该是你存放的数据超过了设置的长度,两种方式:

  • 把varchar设置更大值
  • 将MySQL模式设置为非严格模式(这个主要是由低版本的MySQL转高版本MySQL导致,比如数据迁移时)
    • SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

text

而我此次出的问题就是这个,本想text类型已经够存放,但第三方存放的数据大小往往会是不可控的,需要将原有的TEXT改为MEDIUMTEXT,当然具体大小怎么更改需要看你具体业务需求,不是越大越好。我们可以看下面的定义:

类型 大小
TINYTEXT 256 bytes
TEXT 65,535 bytes ~64kb
MEDIUMTEXT 16,777,215 bytes ~16MB
LONGTEXT 4,294,967,295 bytes ~4GB
Jetbrains系列激活方法(2018.3最新)

声明 我只是工具的搬运工,原始地址:https://zhile.io/2018/08/22/jetbrains-license-server-crack.html 感谢他们的付出,为防止下载包出现问题,我这里也提供几个版本的下载地址 下载 jetbrains-agent-v2018.2.2.zip jetbrains-agent-lastest.zip 激活方式 下载下来后,解压压缩包,你自然就知道了 注 破解方法请勿商用! 破解方法请勿商用! 破解方法请勿商用!

201904读书会

《永乐大帝朱棣》 状态:100% finished 毛佩琦的一本老书,断断续续看完差不多前后花了有两个月。历朝历代,君王上纲上线要么子承父业,要么是抢过来的。朱棣也不例外,朱棣是洪武帝的第四个儿子,也是朱元璋最喜欢的一个儿子,能打仗,有谋略,敢下手,缺偏偏因历史原因需要将太子传给儿子中的老大朱标,朱标因年早逝又传给世子朱允炆,抢夺帝位就此开始。 建文元年,朱允炆主张仁治,在黄子澄等一干人帮助下进行了削藩,这就成功触碰到了朱棣的神经,生死存亡,于是打起了靖难的旗号起兵反抗,起兵过程中往往应征了运气也是实力的一部分,在老天爷多次帮忙下活了过来且越来越壮大,最终如常所愿。一幕幕的战争场面也能实时的映入眼帘。 一朝天子一朝臣,新帝上任,旧臣下课(往往是被诛杀),同朱元璋称帝一样,作为皇帝往往为了免除后患,都会大肆进行杀戮,这就是朝廷和政治的斗争,为财为权,不管经历多少年,这都是利益使然,如今社会也一样。 朱允炆从此开始了十六年的逃亡生活,隐姓埋名,却成了朱棣的一大心病,因为活不见人死不见尸,这个后患一直未被根除。直到自己快寿终前才得知朱允炆的去世,了却了心愿。 朱棣这个人,不能说好,也不能说坏,